经常使用dd命令制作linux系统盘,相当方便迅速。但是用了这么久,突然就想,要是能够知道dd现在的进度该多好,于是查了查,果然找到了。

刻盘的时候,我们先在一个shell中使用dd,比如我们把Arch Linux的镜像刻到U盘/dev/sdc中:

lgl@pArch ~/Downloads $ sudo dd if=archlinux-2016.04.01-dual.iso of=/dev/sdc

此时,在另一个shell中,我们输入:

lgl@pArch ~ $sudo watch -n 5 pkill -USR1 ^dd$

或者:

lgl@pArch ~ $ sudo watch -n 5 pkill -USR1 -x dd

然后,当前终端会显示:

Every 5.0s: pkill -USR1 -x dd

此时,使用dd命令的终端会显示进度:

lgl@pArch ~/Downloads $ sudo dd if=archlinux-2016.04.01-dual.iso of=/dev/sdc

[sudo] lgl 的密码:

记录了234881+0 的读入

记录了234881+0 的写出

120259072 bytes (120 MB, 115 MiB) copied, 21.7691 s, 5.5 MB/s

记录了286353+0 的读入

记录了286353+0 的写出

146612736 bytes (147 MB, 140 MiB) copied, 26.7881 s, 5.5 MB/s

记录了338249+0 的读入

记录了338249+0 的写出

173183488 bytes (173 MB, 165 MiB) copied, 31.8169 s, 5.4 MB/s

……

直到结束。

解释:

watch - execute a program periodically, showing output fullscreen

watch负责周期性执行一个程序,使用-n可以指定执行的时间间隔。-d则会高亮出这次执行和上次执行的结果变化了的地方。所以watch -n 5 pkill -USR1 ^dd$就是每五秒执行一次pkill -USR1 ^dd$。

pgrep, pkill - look up or signal processes based on name and other attributes

pkill是根据名称或其他属性来查询进程或给进程发信号的。

所以pkill -USR1 ^dd$就是给dd进程发送信号USR1,USR1这个信号在man dd里有解释:

Sending a USR1 signal to a running ‘dd’ process makes it print I/O statistics to standard error and then resume copying.

也就是说只要给dd发送USR1信号,它就会在标准错误输出中输出I/O数据,并继续复制。这样的话就实现了当前进度的输出。

命令中最后的^dd$自然是筛选名称中仅含有dd的进程,否则,所有名称中包含dd字段的进程都会被选中。我们做个实验:

lgl@pArch ~ $ pkill -USR1 dd

pkill: killing pid 2 failed: 不允许的操作

pkill: killing pid 43 failed: 不允许的操作

pkill: killing pid 282 failed: 不允许的操作

pkill: killing pid 548 failed: 不允许的操作

pkill: killing pid 2475 failed: 不允许的操作

lgl@pArch ~ $ ps -A | grep dd

2 ? 00:00:00 kthreadd

43 ? 00:00:00 ipv6_addrconf

282 ? 00:00:00 sddm

548 ? 00:00:00 sddm-helper

2475 pts/2 00:00:04 dd

2488 ? 00:00:00 ksysguardd

由上面可以看到,pkill果然是向所有名称中包含dd的进程都发送信号了。

另外,除了使用正则的表示方式之外,我们还可以使用-x来指定进程名:

-x, –exact

Only match processes whose names (or command line if -f is specified) exactly match the pattern.

所以,pkill -USR1 -x dd的作用就是明确指定进程的名字就是dd。

所以说,我们通过pkill(发信号)和watch(周期性执行命令)的结合来实现了dd进度的查看。

linux dd iso 进度,linux小记:查看dd进度相关推荐

  1. linux 执行iso 文件,linux可以加载iso镜像文件到启动项吗

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 楼主的需求描述不清,不作评述.只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能 未读过grub1/2的源 ...

  2. 解压linux的iso软件,linux下解压iso文件

    .iso文件的格式是iso9660,iso9660是cd上的一种文件系统, 也就是说是 是数据在cd上的组织形式: 它的一些限制是: 1.最多8级子目录(可以用RockRidge Extension增 ...

  3. suse linux zypper iso,SUSE Linux的zypper命令详解

    在 不 同 的 根 目 录 下 操 作 . --disable-system-sources. -D 不 读 取 系 统 安 装 的 可 解 析 项 . 命 令 : help, ? 打 印 帮 助 . ...

  4. linux命令显示进度,【命令】Linux下查看dd命令写入进度

    [命令]Linux下查看dd命令写入进度 12个月前 (05-14)    作者:Jiaozn    分类:Linux    阅读次数:433 评论(0) Linux下有一个强力工具,dd,用来操作镜 ...

  5. linux dd目录生成iso文件,linux/OSX中“DD”命令制作ISO镜像操作系统安装U盘

    linux或者OS X系统中,使用"dd"命令可以直接在终端命令行模式下,制作ISO镜像的系统安装盘. 一.linux系统以centOS7为例. sudo dd if=镜像路径 o ...

  6. linux dd命令卡住,linux下显示dd命令的进度:

    linux下显示dd命令的进度: dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000 想要查看上面的dd命令的执行进度,可以使用下面几种方法: 比 ...

  7. linux dd目录生成iso文件,Linux下dd + mkisofs 制作可启动 img/iso 映像文件

    总的来说,制作镜像文件有三种方法,cp, cat, dd 和其它专用工具.cp ,cat 和 dd都可以从设备复制文件来创建镜像.而 dd 命令更为强大,可以通过指定块大小,块多少来直接创建镜像. I ...

  8. dd linux命令 分区,使用dd命令备份Linux分区

    为了备份分区,开始使用的是Remastersys,但最终生成的iso文件仅有几十K,应该是软件bug,且此软件不再更新,后尝试使用Linux Respin,但github一直连接不上. 其实可以尝试使 ...

  9. linux编译lnx文件命令_linux命令dd

    dd 使用dd这个linux命令可以创建一定大小文件. linux创建文件命令:dd命令 把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换.语法: CODE:[Copy to ...

最新文章

  1. c语言:【顺序表】静态顺序表的初始化、打印、尾插、尾删
  2. opengl加载显示3D模型gltf类型文件
  3. Chillingo分享三款游戏图标的设计经验
  4. 在html页面中怎么打印区域,在HTML中指定打印区域进行打印机打印
  5. Windows编程中引入winsock2.h后导致的错误解决
  6. html追加到末尾,css – wkhtmltopdf – 将内容添加到最后一页的底部
  7. X86汇编语言从实模式到保护模式18:中断和异常的处理与抢占式多任务
  8. 谈谈全自动安装常使用的pip install的原理及作用!!!
  9. 通用PHM集成开发环境PIDE
  10. mysql监控工具:zabbix+MPM(Performance Monitor for MySQL)
  11. Matlab 地理(经纬度)坐标 转 笛卡尔(直角)坐标
  12. php 厘米转为英寸,将cm换算为in (厘米换算为英寸)
  13. 正则表达式的简单学习
  14. 谁说小米手机拍照差?开启这3个模式,瞬间拍出单反的效果
  15. 【软件】Excel文件双击打开巨慢,先开excel程序,将表格拖进来就很快,夜神模拟器导致开excel很慢
  16. 把你问到哑口无言,HR是专业的!
  17. C++面试进阶之咖啡罐问题
  18. html 内嵌iframe,html页面 内嵌iframe
  19. ubuntu16.04安装xmind8
  20. 为什么高一的学生都说数学难?

热门文章

  1. 一起从零开始学VUE(1) VUE基本使用步骤和指令
  2. R 多变量数据预处理_R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)...
  3. 汉语字典APP开发总结
  4. Ironic 裸金属管理服务
  5. Windows Server 2012 新功能:IPAM 配置
  6. python画笔粗细函数_Python 画图基础操作详解
  7. 数字图像处理 拜耳过滤器简介
  8. CVPR 2022 | 美团技术团队精选论文解读
  9. 使用Apriori算法寻找频繁样式(Frequent Patterns)
  10. vue中使用require动态获取图片地址