首页IT科技linux dmesg命令详解(Linux系统中使用dd命令来转换和拷贝文件)

linux dmesg命令详解(Linux系统中使用dd命令来转换和拷贝文件)

时间2025-06-21 02:00:08分类IT科技浏览4202
导读: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版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
微软官方windows10免费下载(【微软Windows7旗舰版】微软(Microsoft)Windows 7旗舰版 操作系统 【行情 报价 价格 评测】)