progress 命令是一個簡單但功能強大的 Linux/Unix 命令行工具,可讓用戶查看文件操作的進度。
progress 命令幾乎可以監控所有命令的進度,例如在下載文件、復制文件、等操作,支持常用命令的監控。
progress 命令默認監控命令包括 cp,mv,dd,tar,rsync,grep,cut,sort md5sum,gzip,bzip2 ,7z等命令,更多默認監控的命令請查看progress 命令的幫助。
在本教程中,我們將說明如何在 Linux 使用 progress 命令查看指定命令操作進度和剩余時間的信息。
安裝
progress 命令并沒有預安裝在大多數 Linux 發行版。要檢查你的 Linux 發行版是否已安裝 progress,請按快捷鍵 CTRL+ALT+T
打開終端,鍵入 curl
,然后按 Enter。
如果你還沒有安裝 progress 命令,終端將會打印消息 Command 'progress' not found,你可以運行以下命令安裝 progress 命令。
如果你的計算機運行的是基于 Debian 的 Linux 發行版,例如 Ubuntu,Linux Mint等。請運行 sudo apt install progress
命令安裝 progress。
如果你的計算機運行的是基于 Redhat的 Linux 發行版,例如 CentOS,Fedora 等。請運行 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 命令的最簡單的方式不指定任何選項,progress 命令將會打印正在運行的默認監控命令進度和剩余時間信息。
如果你要監控的命令不存在默認的命令中,你可以使用 progress 命令的 -c 選項指定要監控的命令。也可以使用 -p 選項指定進程的 pid。
要查看默認監控的命令列表,請運行命令 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 選項
progress 命令常用的選項:
- -q / --quiet 隱藏所有打印的消息。
- -w / --wait 顯示IO的吞吐量和剩余時間。
- -m / --monitor 持續監控進程直到要監控進程的退出或者手動按 Ctrl+C 退出。
- -a / --additional-command 添加命令到默認監控命令列表。
- -c / --command 監控指定命令的名稱 (ex: firefox)。
- -p / --pid id 監控指定進程的 PID (ex:
pidof firefox
)。 - -i / --ignore-file file 忽略指定文件。
- -o / --open-mode {r|w} 報告文件的打開模式。
- -v / --version 打印命令的版本。
- -h / --help 打印幫助信息。
查看 cp 命令復制進度
在復制大量文件或目錄時,使用 progress 命令可以讓我們了解當前復制的進度和評估的剩余時間。
例如,以下命令會將 bigfile 文件的復制到 newfile 文件,并顯示當前進度和剩余時間的信息。
cp bigfile newfile & progress -mp $!
[211364] cp /home/myfreax/swapfile
25.8% (528.6 MiB / 2 GiB)
在這個命令中,我們使用 progress 命令的 -m 選項持續監控 cp 命令的進度和剩余時間,直到 cp 命令的退出。progress 也將會自動退出。
& 符號表示先運行左側的命令然后再運行右側命令,這樣可以讓輕松獲取之前運行進程的 pid,progress 命令的 -p 選項指定要監控進程的 pid。$! 是最近運行的進程 pid。
查看 tar 命令壓縮和解壓文件進度
在壓縮或解壓縮大量文件時,你可能也需要使用 progress 命令查看操作的進度和估計剩余時間。
監控 tar 命令進度的信息和剩余時間查看 cp 命令類似,都是使用 progress 命令監控指定進程的進程。
例如,以下命令會將一個名為 source 的目錄壓縮成一個名為 archive.tar.gz
的壓縮文件,并顯示壓縮進度信息:
tar czfv archive.tar.gz source & progress -mp $!
查看 mv 命令移動文件進度
以下命令會將一個名為 source
的目錄重命名為 destination
,并顯示重命名進度信息:
mv source destination & progress -mp $!
監控多個命令的進度
如果你需要同時監控多個命令進度信息,可以使用 progress 命令的 -m 選項持續監控所有命令的進度。
如果你只需要查看一次默認命令的進度和剩余時間信息,也可以在不指定任何選項運行 progress 命令。progress 命令將會收集正在運行的或者即將運行的默認命令進度和剩余時間信息。
注意:progress 命令的 -m 選項僅支持默認的命令,如果你要監控多個命令且不在默認命令,可以使用 -a 選項添加默認監控命令列表。
progress -m
結論
總的來說,progress 命令可以在許多不同的上下文中使用,可以幫助我們更好地了解長時間運行的命令的進度和估計完成時間。
無論是在復制、壓縮、安裝軟件包還是移動和重命名文件或目錄時,使用 progress 命令都可以使我們更有效當前任務的進度。
-
Linux
+關注
關注
87文章
11351瀏覽量
210497 -
UNIX
+關注
關注
0文章
296瀏覽量
41606 -
文件
+關注
關注
1文章
571瀏覽量
24834 -
命令
+關注
關注
5文章
697瀏覽量
22126 -
Progress
+關注
關注
0文章
6瀏覽量
6440
發布評論請先 登錄
相關推薦
評論