progress 命令是一個(gè)簡單但功能強(qiáng)大的 Linux/Unix 命令行工具,可讓用戶查看文件操作的進(jìn)度。
progress 命令幾乎可以監(jiān)控所有命令的進(jìn)度,例如在下載文件、復(fù)制文件、等操作,支持常用命令的監(jiān)控。
progress 命令默認(rèn)監(jiān)控命令包括 cp,mv,dd,tar,rsync,grep,cut,sort md5sum,gzip,bzip2 ,7z等命令,更多默認(rèn)監(jiān)控的命令請(qǐng)查看progress 命令的幫助。
在本教程中,我們將說明如何在 Linux 使用 progress 命令查看指定命令操作進(jìn)度和剩余時(shí)間的信息。
安裝
progress 命令并沒有預(yù)安裝在大多數(shù) Linux 發(fā)行版。要檢查你的 Linux 發(fā)行版是否已安裝 progress,請(qǐng)按快捷鍵 CTRL+ALT+T
打開終端,鍵入 curl
,然后按 Enter。
如果你還沒有安裝 progress 命令,終端將會(huì)打印消息 Command 'progress' not found,你可以運(yùn)行以下命令安裝 progress 命令。
如果你的計(jì)算機(jī)運(yùn)行的是基于 Debian 的 Linux 發(fā)行版,例如 Ubuntu,Linux Mint等。請(qǐng)運(yùn)行 sudo apt install progress
命令安裝 progress。
如果你的計(jì)算機(jī)運(yùn)行的是基于 Redhat的 Linux 發(fā)行版,例如 CentOS,F(xiàn)edora 等。請(qǐng)運(yùn)行 sudo yum install progress
命令安裝 progress。
sudo apt-get install -y progress #Debian ubuntu
##RedHat CentOS
sudo yum install epel-release
sudo yum install progress
progress 命令
progress 命令的基本語法如下:
progress [-qdwmM] [-W secs] [-c command] [-p pid]
使用 progress 命令的最簡單的方式不指定任何選項(xiàng),progress 命令將會(huì)打印正在運(yùn)行的默認(rèn)監(jiān)控命令進(jìn)度和剩余時(shí)間信息。
如果你要監(jiān)控的命令不存在默認(rèn)的命令中,你可以使用 progress 命令的 -c 選項(xiàng)指定要監(jiān)控的命令。也可以使用 -p 選項(xiàng)指定進(jìn)程的 pid。
要查看默認(rèn)監(jiān)控的命令列表,請(qǐng)運(yùn)行命令 progress --help | head -n 6 | tail -n 1。
progress --help | head -n 6 | tail -n 1
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 7z 7za zcat bzcat lzcat split gpg
progress 選項(xiàng)
progress 命令常用的選項(xiàng):
- -q / --quiet 隱藏所有打印的消息。
- -w / --wait 顯示IO的吞吐量和剩余時(shí)間。
- -m / --monitor 持續(xù)監(jiān)控進(jìn)程直到要監(jiān)控進(jìn)程的退出或者手動(dòng)按 Ctrl+C 退出。
- -a / --additional-command 添加命令到默認(rèn)監(jiān)控命令列表。
- -c / --command 監(jiān)控指定命令的名稱 (ex: firefox)。
- -p / --pid id 監(jiān)控指定進(jìn)程的 PID (ex:
pidof firefox
)。 - -i / --ignore-file file 忽略指定文件。
- -o / --open-mode {r|w} 報(bào)告文件的打開模式。
- -v / --version 打印命令的版本。
- -h / --help 打印幫助信息。
查看 cp 命令復(fù)制進(jìn)度
在復(fù)制大量文件或目錄時(shí),使用 progress 命令可以讓我們了解當(dāng)前復(fù)制的進(jìn)度和評(píng)估的剩余時(shí)間。
例如,以下命令會(huì)將 bigfile 文件的復(fù)制到 newfile 文件,并顯示當(dāng)前進(jìn)度和剩余時(shí)間的信息。
cp bigfile newfile & progress -mp $!
[211364] cp /home/myfreax/swapfile
25.8% (528.6 MiB / 2 GiB)
在這個(gè)命令中,我們使用 progress 命令的 -m 選項(xiàng)持續(xù)監(jiān)控 cp 命令的進(jìn)度和剩余時(shí)間,直到 cp 命令的退出。progress 也將會(huì)自動(dòng)退出。
& 符號(hào)表示先運(yùn)行左側(cè)的命令然后再運(yùn)行右側(cè)命令,這樣可以讓輕松獲取之前運(yùn)行進(jìn)程的 pid,progress 命令的 -p 選項(xiàng)指定要監(jiān)控進(jìn)程的 pid。$! 是最近運(yùn)行的進(jìn)程 pid。
查看 tar 命令壓縮和解壓文件進(jìn)度
在壓縮或解壓縮大量文件時(shí),你可能也需要使用 progress 命令查看操作的進(jìn)度和估計(jì)剩余時(shí)間。
監(jiān)控 tar 命令進(jìn)度的信息和剩余時(shí)間查看 cp 命令類似,都是使用 progress 命令監(jiān)控指定進(jìn)程的進(jìn)程。
例如,以下命令會(huì)將一個(gè)名為 source 的目錄壓縮成一個(gè)名為 archive.tar.gz
的壓縮文件,并顯示壓縮進(jìn)度信息:
tar czfv archive.tar.gz source & progress -mp $!
查看 mv 命令移動(dòng)文件進(jìn)度
以下命令會(huì)將一個(gè)名為 source
的目錄重命名為 destination
,并顯示重命名進(jìn)度信息:
mv source destination & progress -mp $!
監(jiān)控多個(gè)命令的進(jìn)度
如果你需要同時(shí)監(jiān)控多個(gè)命令進(jìn)度信息,可以使用 progress 命令的 -m 選項(xiàng)持續(xù)監(jiān)控所有命令的進(jìn)度。
如果你只需要查看一次默認(rèn)命令的進(jìn)度和剩余時(shí)間信息,也可以在不指定任何選項(xiàng)運(yùn)行 progress 命令。progress 命令將會(huì)收集正在運(yùn)行的或者即將運(yùn)行的默認(rèn)命令進(jìn)度和剩余時(shí)間信息。
注意:progress 命令的 -m 選項(xiàng)僅支持默認(rèn)的命令,如果你要監(jiān)控多個(gè)命令且不在默認(rèn)命令,可以使用 -a 選項(xiàng)添加默認(rèn)監(jiān)控命令列表。
progress -m
結(jié)論
總的來說,progress 命令可以在許多不同的上下文中使用,可以幫助我們更好地了解長時(shí)間運(yùn)行的命令的進(jìn)度和估計(jì)完成時(shí)間。
無論是在復(fù)制、壓縮、安裝軟件包還是移動(dòng)和重命名文件或目錄時(shí),使用 progress 命令都可以使我們更有效當(dāng)前任務(wù)的進(jìn)度。
-
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213760 -
UNIX
+關(guān)注
關(guān)注
0文章
296瀏覽量
42337 -
文件
+關(guān)注
關(guān)注
1文章
579瀏覽量
25366 -
命令
+關(guān)注
關(guān)注
5文章
737瀏覽量
22876 -
Progress
+關(guān)注
關(guān)注
0文章
6瀏覽量
6488
發(fā)布評(píng)論請(qǐng)先 登錄
如何在Linux上可視化Ping響應(yīng)
如何在Linux使用iostat命令
如何在linux應(yīng)用程序中使用pwm捕獲?
如何在Linux中使用SIM7100模塊的詳細(xì)資料概述

如何在 Linux 中使用一個(gè)命令升級(jí)所有軟件
如何在嵌入式Linux中使用GPIO
如何在Linux中使用nmcli命令添加和管理網(wǎng)絡(luò)連接

如何在Linux使用pidof命令
如何在Linux使用touch命令
如何在Linux使用rpm命令
如何在Linux上使用粘貼命令?
如何在Linux命令行中運(yùn)行Python腳本
恒訊科技分析:如何在Linux上使用rm命令刪除文件和目錄?
如何在Linux中使用watch命令呢?

評(píng)論