让Linux的命令显示进度

在之前我是一直习惯使用系统自带的cpmv命令进行复制和移动的。

直到Xavier又一次炸了,还好我之前有备份,不过这个备份的大小高达90个G。我想要拷到我的移动硬盘里,需要消耗相当长的时间,而cp命令又不会显示进度。这个等待的过程非常煎熬,全程没有一点feedback。就好像想要撩妹,但是妹子不会给你一个进度条告诉你到什么程度。你自己心里也没数,然后最可能结果就是你觉得等待时间过长,系统没有响应,你放弃继续传输。比如我传到80G的时候实在没有耐心了,然后取消了传输。

abort

PV是Pipe Viewer的简称,意思是可以通过管道显示数据处理进度的消息。

Debian系的操作系统可以通过一条命令简单的安装pv

sudo apt install pv

这下我们拷贝的时候就可以实时获取进度了

pv ~/2019_1029_bak.img > /mnt/home/2019_bak

输出如下

pro

这下就能知道我们目前的进度了,再也⑧用当cp的舔狗了

剩下还有许多参数,诸如显示百分比,这些通过help都可以了解其用途,不做赘述。

有反馈的感觉真爽,手也不抖了。

后续

在使用dd恢复我备份的90个G的Xavier备份的时候,dd默认不会显示进度,但是可以加上 status=progress来显示进度条,但是这个傻吊参数会在传输一段时间的时候卡死不更新。最后还是要用pv。

实现方式如下

sudo pv -cN source < 2019_bak | sudo dd of=/dev/nvme0n1p1

噢pv也会卡住,那没事了,我挂一晚上。

Last modification:November 14, 2019
恰饭环节