cp命令显⽰进度条_Progress查看命令实际执⾏的操作
当您使⽤简单的cp命令在没有标志的情况下复制终端中的⼤⽂件时,您有时可能会怀疑它是否真的在复制或者进程被某种⽅式阻⽌,它实际上永远不会完成。输出不存在,您很想按Ctrl-C结束中⽌进程。那么,您可以在另⼀个终端窗⼝中下载progress实⽤程序并运⾏它以查看命令实际执⾏的操作。 Progress包⽀持cp,mv,dd,tar,gzip / gunzip,cat和其他基本的coreutils命令,它给出了调⽤时的完成百分⽐,这将是pv命令的替代⽅法。我应该在标题中提到这也适⽤于centos 7 。
安装Progress包
对于CentOS 6和7(当然是相同的RHEL),您需要使⽤wget 下载进度包 ,因为它不在EPEL存储库或基础中。
[root@localhost opt]# wget /kojifile s/packages/progress/0.13/1.el6/x86_64/progress-0.13-
1.el6.x86_64.rpm
[root@localhost opt]# yum install progress-0.13-1.el6.x86_64.rpm
对于Fedora 24,你可以简单地⽤yum或dnf安装它,它存在于主存储库中。
[root@localhost opt]# sudo yum 安装进度
如何使⽤进度
由于我的CentOS 6 VM上没有任何⼤⽂件,我将使⽤Fedora主机来测试命令。 我将抓取任何⼤⽂件,然后将其复制到随机⽬录。对于这个例⼦,它将是⼀部电影。
然后在另⼀个终端窗⼝中,让我们运⾏进度
我在cp命令完成的各个阶段运⾏了三次。最后,GNOME通知显⽰它已经结束了复制过程:
然后,如果我再次运⾏进度,它会显⽰以下输出:
进展
No command currently running: cp, mv, dd, tar, cat, rsync, grep, fgrep, egrep, cut, sort, md5sum, sha1sum,
grep命令查看进程
sha224sum, sha256sum, sha384sum, sha512sum, adb, gzip, gunzip, bzip2, bunzip2, xz, unxz, lzma, unlzma, zcat, bzcat, lzcat, or wrong permissions.
这是进度程序可以监视并显⽰进度活动的命令列表。
让我们接下来尝试使⽤dd命令
我们看到这⾥堆叠了两个终端窗⼝。最重要的⼀个似乎被卡住了,⽽底部的⼀个显⽰最⾼的⼀个根本没有卡住。 它正在完成它的⼯作,因为每次调⽤progress命令都会显⽰增加的完成百分⽐。
让我们尝试cp命令。
[root@instance-z78bdmwa 2day]# cp -rp /usr/ /tmp/2day/
[root@instance-z78bdmwa ~]# progress
[15582] cp /usr/lib/firmware/brcm/brcmfmac43236b.bin
0.0% (0 / 340 KiB)
[root@instance-z78bdmwa ~]# progress
[15582] cp /usr/lib/firmware/netronome/nic/nic_AMDA0097-0001_8x10.nffw
87.7% (1.2 MiB / 1.4 MiB)
互动⽅式
我们不⼀定需要多次调⽤progress命令。相反,我们可以使⽤交互选项。
在下⼀个⽰例中,您可以打开两个或更多终端窗⼝,然后分别运⾏coreutils命令,并使⽤其他终端窗⼝观察其进度,如下图所⽰。下⾯的命令将使您能够监视所有当前和即将发⽣的coreutils命令实例:
[root@instance-z78bdmwa ~]# watch progress -q
观察进度-w将每2秒关于命令完成给我们交互式更新。 例如这样:
观察进度-w
[root@instance-z78bdmwa ~]# progress -w
结论
因此,如果您遇到任何列出的命令,现在您知道该怎么做了。您可以使⽤进度来了解您是否真的卡住了,或者只是⽂件太⼤⽽且需要时间。这样可以节省您⼀些时间,因为您将知道是等待还是取消某些命令。
关于运维学习、分享、交流,笔者开通了【运维猫】,感兴趣的朋友可以关注下,欢迎加⼊,建⽴属于我们⾃⼰的⼩圈⼦,⼀起学运维知识。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。