Progress查看命令實(shí)際執(zhí)行的操作

當(dāng)您使用簡(jiǎn)單的cp命令在沒(méi)有標(biāo)志的情況下復(fù)制終端中的大文件時(shí),您有時(shí)可能會(huì)懷疑它是否真的在復(fù)制或者進(jìn)程被某種方式阻止,它實(shí)際上永遠(yuǎn)不會(huì)完成。?輸出不存在,您很想按Ctrl-C結(jié)束中止進(jìn)程。?那么,您可以在另一個(gè)終端窗口中下載progress實(shí)用程序并運(yùn)行它以查看命令實(shí)際執(zhí)行的操作。?Progress包支持cp,mv,dd,tar,gzip / gunzip,cat和其他基本的coreutils命令,它給出了調(diào)用時(shí)的完成百分比,這將是pv命令的替代方法。?我應(yīng)該在標(biāo)題中提到這也適用于centos 7?。

安裝Progress包

對(duì)于CentOS 6和7(當(dāng)然是相同的RHEL),您需要使用wget?下載進(jìn)度包?,因?yàn)樗辉贓PEL存儲(chǔ)庫(kù)或基礎(chǔ)中。

[root@localhost opt]# wget?http://cbs.centos.org/kojifiles/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

對(duì)于Fedora 24,你可以簡(jiǎn)單地用yum或dnf安裝它,它存在于主存儲(chǔ)庫(kù)中。

[root@localhost opt]# sudo yum 安裝進(jìn)度

如何使用進(jìn)度

由于我的CentOS 6 VM上沒(méi)有任何大文件,我將使用Fedora主機(jī)來(lái)測(cè)試命令。?我將抓取任何大文件,然后將其復(fù)制到隨機(jī)目錄。對(duì)于這個(gè)例子,它將是一部電影。

然后在另一個(gè)終端窗口中,讓我們運(yùn)行進(jìn)度

我在cp命令完成的各個(gè)階段運(yùn)行了三次。最后,GNOME通知顯示它已經(jīng)結(jié)束了復(fù)制過(guò)程:

然后,如果我再次運(yùn)行進(jìn)度,它會(huì)顯示以下輸出:

進(jìn)展

No command currently running: cp, mv, dd, tar, cat, rsync, grep, fgrep, egrep, cut, sort, md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, adb, gzip, gunzip, bzip2, bunzip2, xz, unxz, lzma, unlzma, zcat, bzcat, lzcat, or wrong permissions.

這是進(jìn)度程序可以監(jiān)視并顯示進(jìn)度活動(dòng)的命令列表。

讓我們接下來(lái)嘗試使用dd命令

我們看到這里堆疊了兩個(gè)終端窗口。最重要的一個(gè)似乎被卡住了,而底部的一個(gè)顯示最高的一個(gè)根本沒(méi)有卡住。?它正在完成它的工作,因?yàn)槊看握{(diào)用progress命令都會(huì)顯示增加的完成百分比。

讓我們嘗試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)

互動(dòng)方式

我們不一定需要多次調(diào)用progress命令。相反,我們可以使用交互選項(xiàng)。

在下一個(gè)示例中,您可以打開(kāi)兩個(gè)或更多終端窗口,然后分別運(yùn)行coreutils命令,并使用其他終端窗口觀察其進(jìn)度,如下圖所示。下面的命令將使您能夠監(jiān)視所有當(dāng)前和即將發(fā)生的coreutils命令實(shí)例:

[root@instance-z78bdmwa ~]# watch progress -q

觀察進(jìn)度-w將每2秒關(guān)于命令完成給我們交互式更新。?例如這樣:

[root@instance-z78bdmwa ~]# progress -w

結(jié)論

因此,如果您遇到任何列出的命令,現(xiàn)在您知道該怎么做了。您可以使用進(jìn)度來(lái)了解您是否真的卡住了,或者只是文件太大而且需要時(shí)間。這樣可以節(jié)省您一些時(shí)間,因?yàn)槟鷮⒅朗堑却€是取消某些命令。

關(guān)于運(yùn)維學(xué)習(xí)、分享、交流,筆者開(kāi)通了微信公眾號(hào)【運(yùn)維貓】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)運(yùn)維知識(shí)。?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容