美文网首页
dd 命令显示执行进度

dd 命令显示执行进度

作者: 404d67ac8c12 | 来源:发表于2019-05-27 21:59 被阅读0次

    小伙伴们都清楚,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 命令显示进度。

    相关文章

      网友评论

          本文标题:dd 命令显示执行进度

          本文链接:https://www.haomeiwen.com/subject/qjwktctx.html