linux转换和复制文件是什么-dd 命令使用与实例

linux转换和复制文件是什么-dd 命令使用与实例

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
喜欢就支持一下吧
点赞7 分享