linux dmesg命令详解(Linux系统中使用dd命令来转换和拷贝文件)
dd-转换和拷贝文件
当进行非强制的转换的时候 ,使用指定的输入和输出块大小拷贝文件 (默认是从标准输入到标准输出 。)
它每次从输入读取指定大小的一个块(默认是512字节) 。 如果使用 bs=bytes 选项 ,并且没有转换 ,除了指定 sync, noerror, 或 notrunc 之外 , 那么dd将把全部读到的数据(可以比请求读的少) 写到独立的输出块去 。 这个输出块的长度和读到的数据 完全一样 ,除非指定使用 sync(同步) 转换 ,那样的话 ,数据结尾处将追加NUL字符(或空格 ,见下) 。
其他情况下 ,输入的时候每次读一个块 ,然后处理 ,并将 输出结果收集起来 ,最后写到指定大小的数据块中去 。最 终的输出块可能会比指定的大小短一些 。如果你想要在线看 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命令删除掉 。系统默认使用标准输入文件和标准输出文件 。if=file
从 file 中读而不是标准输入。
of=file
写到 file 里去而不是标准输出 。除非指定 conv=notrunc ,否则 , dd 将把 file 截为O字节(或由 seek= 选项指定的大小)
ibs=bytes
一次读 bytes 字节 。默认是512。
obs=bytes
一次写 bytes 字节 。默认是512 。
bs=bytes
一次读和写 bytes 字节 。这将覆盖 ibs 和 obs 设定的值(并且 ,设定 bs 不等于同时将 ibs 和 obs 设为同一个值 ,至少在 只使用 sync, noerror 或 notrunc 转换时是这样的 。因为bs规定 ,每个输入块都应作为单独 的数据块拷贝到输出 ,而不把较短的块组合到一起) 。
cbs=bytes
为 block 转换和 unblock 转换指定转换块的大小 。
skip=blocks
在拷贝之前 ,跳过输入文件的前 blocks 块 ,每块大小为 ibs-byte 字节 。
seek=blocks
在拷贝之前 ,跳过输出文件的前 blocks 块 ,每块大小为 obs-byte 字节 。
count=blocks
只拷贝输入文件的前 blocks 块(每块的大小为 ibs-byte 字节),而不是全部内容 ,直到文件末尾 。转换
conv=转换[,转换]...
将文件按 转换 参数指定的方式转换(在lq,rq两边没有空格) 。转换方式包括:
ascii
将EBCDIC转换成ascii 。
ebcdic
将ascii转换成ebcdic 。
ibm
将ascii转换成alternative ebcdic。
block
每一行输入 ,无论长短,输出都是 cbs 字节 ,并且其中的lq换行rq(NEWLINE ,即c中的)用 空格替换 。如有必要 ,行尾会填充空格 。
unblock
用lq换行rq替换每个输入块( cbs 字节大小)末尾的空格。
lcase
将大写字母转换成小写 。
ucase
将小写字母转换成大写 。
swab
交换每对输入字节 。如果读入的字节数是奇数 ,最后 一个字节只是简单的复制到输出(因为没有能跟它交换的 字节了)(POSIX 1003.26 ,PASC翻译1003.2 3号和4号) 。
noerror
发生读错误时 ,继续进行 。
notrunc
不截断输出文件 。
sync
用0填充到每个输入块的末尾 ,使其大小为 ibs 字节 。例:
[root@localhost ~]# dd if=/dev/hdx of=/dev/hdy #将本地的/dev/hdx整盘备份到/dev/hdy
[root@localhost ~]# dd if=/dev/hdx of=/path/to/image #将/dev/hdx全盘数据备份到指定路径的image文件
[root@localhost ~]# dd if=/dev/hdx | gzip >/path/to/image.gz #备份/dev/hdx全盘数据 ,并利用gzip工具进行压缩 ,保存到指定路径
[root@localhost ~]# dd if=/path/to/image of=/dev/hdx # 将备份文件恢复到指定盘
[root@localhost ~]# gzip -dc /path/to/image.gz | dd of=/dev/hdx #将压缩的备份文件恢复到指定盘
[root@localhost ~]# dd if=/dev/hdx of=/path/to/image count=1 bs=512 #备份磁盘开始的512Byte大小的MBR信息到指定文件
[root@localhost ~]# dd if=/dev/cdrom of=/root/cd.iso #拷贝光盘数据到root文件夹下 ,并保存为cd.iso文件创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!