Linux之dd命令详解

Linux-dd命令详解 

dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

名称: dd 
使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 

使用方式: 
dd [option] 


如果你想要在线看 manual, 可以试试: 
dd --help 

或是 
info dd 

如果你想要看看这个版本如何: 
dd --version 

输入或输出 
dd if=[STDIN] of=[STDOUT] 

强迫输入或输出的Size为多少Bytes 
bs: dd -ibs=[BYTE] -obs=[SIZE] 

强迫一次只做多少个 Bytes 
cbs=BYTES 

跳过一段以后才输出 
seek=BLOCKS 

跳过一段以后才输入 
skip=BLOCKS 

当然你可以拿这个来方便的拷贝光碟(注意,你的光碟是标准的 iso9660格式才可以这么做唷!) 

dd if=/dev/cdrom of=cdrom.iso 
其中 if 后面以及 of 后面的内容依你的需求调整。 

然后给系统这个指令就可以烧了: 

cdrecord -v cdrom.iso 
这篇不是在讲 cdrecord 的,所以上面的指令是最为简单但是不一定能符合您的硬件环境...
功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。 

语法:dd [选项] 

if =输入文件(或设备名称)。 

of =输出文件(或设备名称)。 

ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 

skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 

obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。 

bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。 

cbs = byte 一次转换bytes字节。 

count=blocks 只拷贝输入的blocks块。 

conv = ASCII 把EBCDIC码转换为ASCIl码。 

conv = ebcdic 把ASCIl码转换为EBCDIC码。 

conv = ibm 把ASCIl码转换为alternate EBCDIC码。 

conv = block 把变动位转换成固定字符。 

conv = ublock 把固定位转换成变动位。 

conv = ucase 把字母由小写转换为大写。 

conv = lcase 把字母由大写转换为小写。 

conv = notrunc 不截短输出文件。 

conv = swab 交换每一对输入字节。 

conv = noerror 出错时不停止处理。 

conv = sync 把每个输入记录的大小都调到ibs的大小(用NUL填充)。 

  

例1:要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令: 

$ dd if =/dev/fd0 of = /tmp/tmpfile 

拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令: 

$ dd if = /tmp/tmpfile of =/dev/fd0 

软盘拷贝完成后,应该将临时文件删除: 

$ rm /tmp/tmpfile 

  

例2:把net.i这个文件写入软盘中,并设定读/写缓冲区的数目。 

(注意:软盘中的内容会被完全覆盖掉) 

$ dd if = net.i of = /dev/fd0 bs = 16384 

  

例3:将文件sfile拷贝到文件 dfile中。 

$ dd if=sfile of=dfile

 

例4:创建一个100M的空文件

dd if=/dev/zero of=hello.txt bs=100M count=1

=============================================

/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero,是一个输入设备,你可你用它来初始化文件。


/dev/null------它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。
/dev/zero------该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串0。
$ dd if=/dev/zero of=./test.txt bs=1k count=1
$ ls -l
total 4
-rw-r--r--     1 oracle    dba           1024 Jul 15 16:56 test.txt

 

eg:

$ find / -name access_log   2>/dev/null

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 标准模板库

转载于:https://www.cnblogs.com/Flyzhcong/p/3977865.html

.NET Conf 2021 回顾

.NET Conf 2021是有史以来规模最大的.NET Conf,全球演讲者举办了80多场会议!我们非常感谢所有收看直播、在分享会上的提问、参与我们的乐趣和游戏的人。学习将持续到1月底,社区活动将持续进行,所以一定要查看这些活动,并关注我们的会议 GitHu…

男厕改女厕能多敷衍......

1 搓澡时最好不要闲聊(素材来源网络,侵删)▼2 弟弟需要充电多久才能回家?(素材来源网络,侵删)▼3 这都什么野史?▼4 脚崴了怎么办?▼5 钥匙在老地方▼6 被红绿灯伤透…

shell之什么时候使用shell以及最简单的shell程序

因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化。因此,Shell脚本只要“用心写”一次,即可应用到很多系统上。因此,之所以要使用Shell脚本是基于: 简单性:Shell是一个高级语言&#xff…

《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)...

最新的效果见 :http://video.sina.com.cn/v/b/124538950-1254492273.html 可处理视频的示例:视频去雾效果 在图像去雾这个领域,几乎没有人不知道《Single Image Haze Removal Using Dark Channel Prior》这篇文章,该文是2009年C…

python 运算符重载_Python3面向对象-运算符重载

1:运算符重载介绍运算符重载,就是在某个类的方法中,拦截其内置的操作(比如:,-,*,/,比较,属性访问,等等),使其实例的行为接近内置类型。当类的实例出现在内置操…

docker Failed to get D-Bus connection 报错

在centos7的容器里面出现了一个BUG,就是serveice启动服务的时候出现报错,不能用service启动服务。[roote13c3d3802d0 /]# service httpd startRedirecting to /bin/systemctl start httpd.serviceFailed to get D-Bus connection: Operation not permit…

牛顿法、拟牛顿法、高斯-牛顿法、共轭梯度法推导总结

原文:http://ihoge.cn/2018/newton1.html 前言: 线性最小二乘问题,我们可以通过理论推导可以得到其解析解,但是对于非线性最小二乘问题,则需要依赖迭代优化的方法,牛顿算法是解决非线性最优的常见算法之一…

WD 蓝盘、绿盘、黑盘、红盘的区别

绿盘,蓝盘、黑盘和红盘是西部数据根据旗下所产硬盘的特点所做的分类,通俗点讲:所谓的黑盘、蓝盘、绿盘、红盘就是指的西部数据硬盘上贴的那张纸,是黑色、蓝色、绿色、或红色。 黑盘:高性能,大缓存&#xff…

不用变量交换2个值

题目: 不使用变量交换2个值 代码如下: #include <iostream> using namespace std;int main() { int a = 3;int b = 4;cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;a = a ^ b;b = a ^ b;a = a ^ b;cout<&…

基于事件驱动架构构建微服务第16部分:Azure Active Directory B2C

原文链接: https://logcorner.com/building-micro-services-through-event-driven-architecture-part16-azure-active-directory-b2c/在本教程中&#xff0c;我将展示如何通过使用Azure AD B2C启用Oauth2和OpenId Connect来保护微服务。Azure Active Directory B2C将B2C身份认证…

SAP basis事务代码笔记

SU01 用户维护&#xff0c;可创建、删除、编辑、解锁/锁定、修改密码SU03 Maintain Authorization 配置权限&#xff08;基于权限对象authorization object&#xff09;SU10 Mass Changes to User Master Records 对用户主记录的大量修改&#xff0c;批量维护账号用。SU12 Ma…

Swift数据类型简介(二)

整数 整数就是没有小数部分的数字&#xff0c;比如42和-23。整数可以是有符号&#xff08;正、负、零&#xff09;或者无符号&#xff08;正、零&#xff09;。 Swift 提供了8&#xff0c;16&#xff0c;32和64位的有符号和无符号整数类型。这些整数类型和 C 语言的命名方式很像…

java jar包收集

activation~与javaMail有关的jar包&#xff0c;使用javaMail时应与mail.jar (mail.jar和activation.jar)一起加入到lib中去&#xff0c;具体负责mail的数据源和类型等。 ApacheActiveMQ~Apache出品&#xff0c;最流行的&#xff0c;能力强劲的开源消息总线。ActiveMQ是一个完全…

java 栈和队列实现迷宫代码_LeetCode每日一题--剑指 Offer 09. 用两个栈实现队列(Java)

DailyChallenge剑指 Offer 09. 用两个栈实现队列Easy20200630Description用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;d…

提升方法之AdaBoost算法

提升方法之AdaBoost算法 作为非数学专业出身看到密密麻麻的数学公式刚开始真的是非常头疼。算法的物理逻辑的时候尚能理解&#xff0c;但是涉及到具体的数学公式实现就开始懵逼了&#xff1a;为什么要用这个公式&#xff0c;这个公式是怎么推到的&#xff0c;这个公式达到什么…

C的|、||、、、异或、~

位运算 位运算的运算分量只能是整型或字符型数据&#xff0c;位运算把运算对象看作是由二进位组成的位串信息&#xff0c;按位完成指定的运算&#xff0c;得到位串信息的结果。 位运算符有&#xff1a; &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 …

C# 开源一个基于 yarp 的 API 网关 Demo,支持绑定 Kubernetes Service

关于 Neting刚开始的时候是打算使用微软官方的 Yarp 库&#xff0c;实现一个 API 网关。目前写完了查看 Kubernetes Service 信息、创建 Route 和 Cluster 和绑定 Kubernetes Service。简单来说&#xff0c;就是完成了基础部分&#xff0c;配置路由和后端服务绑定&#xff0c;如…

CCR源码分析-CCR架构

CCR&#xff0c;并发与协调运行时(Concurrency and Coordination Runtime)。从名字里我们就可以知道&#xff0c;这个东东是用来简化并发程序设计的。为何要并发呢&#xff1f;因为我们有多个任务需要处理&#xff0c;如果能同时做就会充分利用硬 件而减少处理的时间。自然的&a…