查看dd进度

群晖Web Station实战:从零搭建个人静态导航站 本文详细介绍了如何利用群晖NAS自带的Web Station套件,从零开始搭建个人静态导航站。通过安装Web Station、上传静态网站源码、配置网页服务与网络门户等步骤,无需代码基础即可实现内网访问。文章还分享了文件权限设置、个性化定制及常见问题排查等实用技巧,帮助用户高效管理个人常用网址,充分挖掘NAS的服务器潜能。 阅读详情

概述

dd是一个神奇的命令,可以将硬盘驱动器复制到另一个硬盘驱动器,完全归零硬盘驱动器等。但是,一旦启动 dd 命令,就没法显示它的进度,只是坐在光标处,直到命令最终完成。那么如何监控dd的进展呢?本文以ubuntu环境为例进行阐述。

查看dd进度

新status选项添加到dd(GNU Coreutils 8.24+)
dd在GNU Coreutils 8.24+(Ubuntu 16.04及更高版本)中,有一个新status选项可以显示进度:

示例:

dd if=/dev/urandom of=/dev/null status=progress

输出信息:

shell

462858752 bytes (463 MB, 441 MiB) copied, 38 s, 12,2 MB/s

使用kill获取进度

dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000

想要查看上面的dd命令的执行进度,可以使用下面几种方法:

比如:每5秒输出dd的进度

方法一:

watch -n 5 pkill -USR1 ^dd$

方法二:

watch -n 5 killall -USR1 dd

方法三:

while killall -USR1 dd; do sleep 5; done

方法四:

while (ps auxww |grep " dd " |grep -v grep |awk '{print $2}' |while read pid; do kill -USR1 $pid; done) ; do sleep 5; done

方法五:

dd if=/path/to/bigimage of=/path/to/newimage conv=sparse bs=262144 & bgid=$!; while true; do sleep 1; kill -USR1 $bgid || break; sleep 4; done

上面这个命令,糅合了具体的dd命令,然后kill它来显示进度

pv显示进度

题外话:

pv不仅仅有显示进度的功能,还有结合dd来限制dd读写速度, e.g:

pv --rate-limit 2M -q -cN source < /dev/zero |dd of=off_file bs=1M count=1024 iflag=fullblock

非本文要阐述的内容,有兴趣的可以man pv查看使用手册。

如果没有pv,执行下列命令进行安装

apt-get install pv

创建bash包装器,使用pv来显示进度

在.bashrc中增加包装器,将下面内容放入.bashrc文件

shell

dd()
{
    local dd=$(which dd); [ "$dd" ] || {
        echo "'dd' is not installed!" >&2
        return 1
    }

    local pv=$(which pv); [ "$pv" ] || {
        echo "'pv' is not installed!" >&2
        "$dd" "$@"
        return $?
    }

    local arg arg2 infile
    local -a args
    for arg in "$@"
    do
        arg2=${arg#if=}
        if [ "$arg2" != "$arg" ]
        then
            infile=$arg2
        else
            args[${#args[@]}]=$arg
        fi
    done

    "$pv" -tpreb "$infile" | "$dd" "${args[@]}"
}

source一下.bashrc

之后再来使用dd命令,就可以看到进度了~

直接命令行用pv显示进度

示例:

dd if=/dev/urandom | pv | dd of=/dev/null

输出:

44.2MB 0:00:04 [11.4MB/s] [ <=> ]

如果想要时间估算,可以使用 --size 指定近似大小:

dd if=/dev/urandom | pv -s 2G| dd of=/dev/null

示例:

写一个文件,并显示进度:

pv -cN source < /dev/zero | dd of=1g bs=100k count=10240

输出如下:

shell

root@host245:~/tmp# pv -cN source < /dev/zero | dd of=1g bs=100k count=10240
   source:  960MB 0:00:01 [ 627MB/s] [         <=>                                                                                                                                                                                                                           ]
7680+2560 records in
7680+2560 records out
1006632960 bytes (1.0 GB) copied, 4.18198 s, 241 MB/s
root@host245:~/tmp# 

使用pv配合dialog还可以显示进度条对话框:

需要事先安装dialog

apt-get install dialog

(pv -n /dev/sda | dd of=/dev/zero bs=128M) 2>&1 | dialog --gauge "dd process bar" 10 70 0

示例:

克隆磁盘驱动器:

(pv -n /dev/sda | dd of=/dev/sdh bs=128M conv=notrunc,noerror) 2>&1 | dialog --gauge "Running dd command (cloning), please wait..." 10 70 0


来源: Transcendent
文章作者: Gavin Wang
文章链接: 查看dd进度 | Transcendent
本文章著作权归作者所有,任何形式的转载都请注明出处。

全局注意机制 GAM | Global Attention Mechanism: Retain Information to Enhance Channel-Spatial Interactions 全局注意机制 GAM 阅读详情

相关推荐

如何查看dd命令的拷贝进度

有关linux下iostat命令的用法,iostat用于监测IO状态数据,这是一个很常用的磁盘IO数据监测的命令

linux下显示dd命令的进度

linux下显示dd命令的进度dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000 想要查看上面的dd命令的执行进度,可以使用下面几种方法: 比如:每5秒输出dd进度 方法一: watch -n 5 pkill -USR1 ^dd$ 方法二: watch -n 5 killall -USR1 dd

新路的专栏 8万+

python课程设计-基于Django实现在线购物平台源码.zip文件

python课程设计-基于Django实现在线购物平台源码.zip文件 本项目集成注册,登录,购物,购物车,评论,搜索,第三方qq登录,微信登录,手机号登录,支付宝支付等功能。基于Django的电子商城系统是一个使用Python语言和Django框架开发的网上购物平台。以下是该系统的主要功能和实现方式的介绍:功能用户注册与登录:用户可以在系统中注册账号并进行登录;商品管理:管理员可以添加、编辑、删除商品信息,包括商品名称、价格、库存等;购物车管理:用户可以将商品添加到购物车,并对购物车中的商品进行操作,如增加数量、删除商品等;订单管理:用户可以生成订单,包括选择商品、填写收货地址等信息;支付功能:支持在线支付功能,用户可以选择支付方式进行支付;订单状态管理:管理员可以处理用户的订单,标记订单状态为已发货、已完成等;评价与评论:用户可以对购买的商品进行评价和评论。实现方式使用Django框架搭建项目结构;设计数据库模型,使用Django ORM来定义商品、用户、订单等模型;开发用户认证系统,包括用户的注册、登录和权限控制;设计商品展示页面,使用Django模板语言实现动态渲染页面;实现购物车功能,包括商品添加、删除、数量修改等本项目集成注册,登录,购物,购物车,评论,搜索,第三方qq登录,微信登录,手机号登录,支付宝支付等功能。基于Django的电子商城系统是一个使用Python语言和Django框架开发的网上购物平台。以下是该系统的主要功能和实现方式的介绍:功能用户注册与登录:用户可以在系统中注册账号并进行登录;商品管理:管理员可以添加、编辑、删除商品信息,包括商品名称、价格、库存等;购物车管理:用户可以将商品添加到购物车,并对购物车中的商品进行操作,如增加数量、删除商品等;订单管理:用户可以生成订单,包括选择商品、填写收货

Linux-查看dd命令进度

在使用 dd 命令做拷贝大量数据的时候,因为并没有输出,所以比较难判断当前进度,因此可以使用下面的命令作为进度查看

洪源兄 2593

Linux查看dd进度

比如:每3秒输出dd进度,打开一个新的终端,输入。

anmo_moan的博客 1902

dd命令使用体会

正式版的tx2 nx只有16G的emmc内存,装完系统和cuda等环境后几乎没有空间了,公司目前使用的载板有外部空间128G,生产时就需要系统的迁移。最近在使用dd命令对jetson tx2 nx进行系统迁移,对dd有了一些了解。首先,dd命令执行的是拷贝过程,这里的拷贝的不是文件意义上拷贝,而是基于物理存储的拷贝。我理解为把物理地址上的东西进行拷贝,并不会关系物理地址上是否有逻辑上的文件。 此外,dd命令只会简单的按块进行拷贝,并不会事先查看存储介质空间是否够用,直到目标空间不够才会报错。 下面介绍几

shonmark的博客 1529

linux小记 查看dd进度,linux小记:查看dd进度

经常使用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此...

weixin_42400904的博客 3574

linux压缩文件夹怎么看进度,dd进度查看方法

dd这个命令在Linux和Unix中是非常有用的,dd在执行命令的时候会打印dd过程中数据拷贝的速度,在命令执行完毕之后,会出现平均速度,它是不显示任何信息的,因此在拷贝的时候我们就无法知道它的进度,那么我们现在就去看看dd进度查看方法。由于 dd 命令执行完毕之后,会打印 dd 过程中数据拷贝的速度,因此有许多人用 dd 来对磁盘的 I/O 进行测试,希望以其结果作为参考数据,对比不同服务商或...

weixin_39811150的博客 2881

如何查看dd的拷贝进度

如何查看dd的拷贝进度 linux中的DD命令可以很方便的作二进制拷贝,比如可以做硬盘克隆。 一般使用方式如下: dd if=/src/device/name of=/dst/device/name ... 然后就等它完成,进程退出 但是当我们需要copy的东西很巨大的时候,这个过程是很痛苦的 很多人会查看iostat, 来估算大概需要多少时间完成, 这是很不...

weixin_34106122的博客 2243

linux dd iso 进度,linux小记:查看dd进度

经常使用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此...

weixin_39993301的博客 386

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

【命令】Linux查看dd命令写入进度12个月前 (05-14) 作者:Jiaozn 分类:Linux 阅读次数:433评论(0)Linux下有一个强力工具,dd,用来操作镜像,简直神器,唯一的不足是没有显示操作进度,不过也不是没有办法,下面介绍几个查看写入进度的方法。status选项查看进度如果你使用的是GNU版本的dd,并且coreutils版本高于8.24,那么可以使用s...

weixin_31240035的博客 2238

linux 查看最新写入,【命令】Linux查看dd命令写入进度

【命令】Linux查看dd命令写入进度1年前 (2020-05-14) 作者:Jiaozn 分类:Linux 阅读次数:454评论(0)Linux下有一个强力工具,dd,用来操作镜像,简直神器,唯一的不足是没有显示操作进度,不过也不是没有办法,下面介绍几个查看写入进度的方法。status选项查看进度如果你使用的是GNU版本的dd,并且coreutils版本高于8.24,那么可以...

weixin_31225063的博客 728

linux小记:查看dd进度

经常使用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此时

Xiaowo 2万+

linux dd命令查看进度

linux下显示dd命令的进度dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000 想要查看上面的dd命令的执行进度,可以使用下面几种方法: 比如:每5秒输出dd进度 方法一: watch -n 5 pkill -USR1 ^dd$ 方法二: watch -n 5 killall -USR1 dd 方法三...

masterbee的博客 1万+

linux dd命令制作u盘启动_Linux查看dd命令写入进度

前言Linux下有一个强力工具,dd,用来操作镜像,简直神器,唯一的不足是没有显示操作进度,不过也不是没有办法,下面介绍几个查看写入进度的方法。status选项查看进度如果你使用的是GNU版本的dd,并且coreutils版本高于8.24,那么可以使用status选项。例如:sudo dd if=/dev/sda of=/dev/zero status=progress 上面命令在Mac OS X...

weixin_39714383的博客 644

Linux 查看dd命令进度

1、#ddif=Fedora-17-x86_64-Live-Desktop.isoof=/dev/sdb开启大文件写入2、另开启一个终端#ps-ef|grepdd取得dd命令的进程号3、#kill-USR1dd进程号记录了993665+0的读入记录了993665+0的写出508756480字节(509MB)已复制,239.29秒,2.1MB/秒 ...

weixin_34130389的博客 400

Linux查看dd命令执行进度

转载地址,同时也进行了一些补充。谢谢原作者。 经常使用dd命令制作linux系统盘,相当方便迅速。但是用了这么久,突然就想,要是能够知道dd现在的进度该多好,于是查了查,果然找到了。 刻盘的时候,我们先在一个shell中使用dd,比如我们把Arch Linux的镜像刻到U盘/dev/sdc中: lgl@pArch ~/Downloads $ sudo dd if=archlinux-201...

Leo's blog 1万+

查看dd命令的执行进度

现在一个终端中开启一个dd进程 dd if=/dev/zero of=/data3/test bs=1k count=1024000 然后在另外一个终端中用while来反复执行killall命令 while killall -USR1 dd; do sleep 5; done 然后就能看到间隔5秒一次的输出结果了 292289+0 records

jklinqing007的专栏 2997

查看dd拷贝进度

kill -USR1 dd进程号

dingyingguidyg的专栏 1565
上一篇: python jsonpath解析json数据
下一篇: 查看网卡对应网口是否已使用
strayeagle
博客等级 码龄19年 1398粉丝 232原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值