查看原文
其他

每天学一个 Linux 命令(77):dd

点击关注👉 民工哥技术之路 2021-12-16

点击下方“民工哥技术之路”,选择“设为星标”

回复“1024”获取独家整理的学习资料!

命令简介

dd 命令用于复制文件并对原文件的内容进行转换和格式化处理

语法格式

dd [OPTIONS]...

选项说明

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为alternate ebcdic
    block    #把每一行转换为长度为cbs
    unblock  #使每一行的长度都为cbs
    lcase    #把大写字符转换为小写字符
    ucase    #把小写字符转换为大写字符
    swab     #交换输入的每对字节
    noerror  #出错时不停止
    notrunc  #不截短输出文件
    sync     #将每个输入块填充到ibs个字节
--help     #显示帮助信息
--version  #显示版本信息

应用举例

创建 ISO 光盘映像。

dd if=/dev/sr0 of=/cd/cdrom.iso bs=2048 conv=noerror,sync

创建 /dev/sda 硬盘驱动器的 img 文件

dd if=/dev/sda of=~/disk1.img

将内容从 if= drive /dev/sda 复制到 of= drive /dev/sdb:

dd if=/dev/sda of=/dev/sdb

创建一个文件,大小为100M

[root@localhost text]# dd if=/dev/zero of=mingongge.txt bs=100M count=1
1+0 records in
1+0 records out
104857600 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s
 
[root@localhost text]# du -sh mingongge.txt 
100.1M    mingongge.txt

生成随机字符串

[root@centos7 ~]# dd if=/dev/urandom bs=1 count=33|base64 -w 0
33+0 records in
33+0 records out
33 bytes (33 B) copied, 0.000199534 s, 165 kB/s
XrjvbxfTkz97rBuTmP5Ahb6gWN6E/uPyXqi/CAgBkEZ8


推荐阅读 点击标题可跳转

2020 国内互联网公司薪酬、加班排名出炉!

用 GitLab 做 CI/CD 是什么感觉,太强了

超全整理!Linux 性能分析工具汇总

Docker部署Prometheus+Grafana监控系统

彻夜怒肝!Docker 常见疑难杂症解决方案已撸完

MongoDB 日常运维实践总结

每天学一个 Linux 命令(73):curl

超详细讲解!10 种常见的软件架构模式

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存