linux dd 命令
在 Linux 系统中,dd 命令主要用于读取、转换并输出数据内容。
该命令可以从标准输入或指定文件中读取数据,并根据设定的格式进行转换处理,最后输出到文件、设备或者标准输出接口。
常用参数介绍:
- if=文件名:定义输入文件,默认为标准输入。用于指明原始数据来源。
- of=文件名:定义输出文件,默认为标准输出。用于指定目标存储位置。
- ibs=bytes:设置每次读取的字节数,表示以 bytes 字节为单位进行读取操作。
obs=bytes:设置每次写入的字节数,表示以 bytes 字节为单位进行写入操作。
bs=bytes:同时设定读取与写入的块大小为 bytes 字节。 - cbs=bytes:设定每次转换的字节数,即转换缓冲区的大小。
- skip=blocks:跳过输入文件起始处 blocks 个块后再开始复制。
- seek=blocks:跳过输出文件起始处 blocks 个块后再开始写入。
- count=blocks:仅复制 blocks 个块,每个块的大小由 ibs 指定。
- conv=,支持以下11种转换选项:
- conversion:按指定方式进行文件转换。
- ASCII:将 ebcdic 编码转为 ascii 编码
- ebcdic:将 ascii 编码转为 ebcdic 编码
- ibm:将 ascii 转换为另一种 ebcdic 编码
- block:将每一行转换为长度为 cbs 的块,不足部分用空格填充
- unblock:使每行长度等于 cbs,不足部分用空格补齐
- lcase:将大写字母转为小写
- ucase:将小写字母转为大写
- swap:交换每对输入字节
- noerror:发生错误时继续执行
- notrunc:不截断输出文件内容
- sync:将每个输入块补足到 ibs 的大小,缺失部分用 NUL 字符填充。
- –help:查看帮助信息
- –version:显示软件版本号
示例演示
若要在 Linux 中创建一个启动盘,可使用如下命令:
dd if=boot.img of=/dev/fd0 bs=1440k
要将 testfile 文件中的所有字母转换为大写并保存为 testfile_1 文件,可在终端中执行以下命令:
dd if=testfile_2 of=testfile_1 conv=ucase
其中 testfile_2 内容如下:
$ cat testfile_2 #testfile_2的内容 HELLO LINUX! Linux is a free unix-type opterating system. This is a linux testfile! Linux test
转换完成后,testfile_1 内容如下所示:
$ dd if=testfile_2 of=testfile_1 conv=ucase #执行大小写转换 记录了0+1 的读入 记录了0+1 的写出 95字节(95 B)已复制,0.000131446 秒,723 KB/s cmd@hdd-desktop:~$ cat testfile_1 #查看转换后的文件内容 HELLO LINUX! LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM. THIS IS A LINUX TESTFILE! LINUX TEST #testfile_2 中的所有字母已转换为大写形式
从标准输入获取字符串,将其全部转为大写后输出至标准输出,可以使用如下命令:
dd conv=ucase
运行上述命令后回车,输入字符串,再次回车,然后按下 Ctrl+D 组合键结束输入,效果如下:
$ dd conv=ucase Hello Linux! #输入内容 HELLO LINUX! #输出结果 记录了0+1 的读入 记录了0+1 的写出 13字节(13 B)已复制,12.1558 秒,0.0 KB/s
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END