dd 命令显示执行进度

小伙伴们都清楚,dd 命令默认是不显示执行进度的,执行以后就是等着,等着,等到发慌,等到心里发堵。实际上,我们可以使用命令或者状态使其显示进度,以下介绍几种方法。使用的系统版本为:

$ lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:        16.04
Codename:       xenial

注: 执行 dd 命令时需要使用 root 权限。

dd 接收 USR1 信号

# 启动 dd 进程并将 dd 进程的 PID($!)保存到 shell 变量 PID
$ if=/dev/sda1 of=/dev/zero bs=4096 & PID=$!

# 每隔 2 秒向 dd 进程发送一个 USR1 信号,要求 dd 进程输出拷贝进度
$ while kill -USR1 $PID; do sleep 2; done

使用 status 选项

# GUN 的 dd 版本必须大于 8.24
$ dd --version
dd (coreutils) 8.25
Copyright (C) 2016 Free Software Foundation, Inc.

$ dd if=/dev/sda1 of=/dev/zero bs=4096 status=progress
2870411264 bytes (2.9 GB, 2.7 GiB) copied, 20 s, 144 MB/s

使用 pv 命令

$ pv -tpreb /dev/sda1 | dd of=/dev/zero
1.02GiB 0:00:08 [ 108MiB/s] [====>   ..............   ]  0% ETA 0:20:11

在 Mac OS X 中安装 gun coreutils 就可以使用 status 选项,或使用 pv 命令显示进度。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,164评论 0 5
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,668评论 0 5
  • cat cdchmod chowncp cut名称:cat使用权限:所有使用者使用方式:cat [-AbeEnst...
    Creator93阅读 419评论 0 0
  • 经常使用dd命令制作linux系统盘,相当方便迅速。但是用了这么久,突然就想,要是能够知道dd现在的进度该多好,于...
    哈士奇18阅读 747评论 0 0
  • 国庆大假第一天,不到7:40起的床,被尿憋醒的,想睡,被我拦住,写作业吧! 叹了一句:“现在能7点以后起床...
    jiazy2017阅读 457评论 0 0

友情链接更多精彩内容