主机评测
如何在Linux下使用 Progress 显示命令执行进度
11/29
Linux 下的命令高效简洁,但同时很多命令进度显示不是很友好,比如:mv
、cp
、dd
等命令。
在没有进度显示的情况下,我们就无法判断是正在执行、还是执行缓慢,Progress
命令很好的解决了这个问题。
Progress 进度查看器是一个简单的程序,它可用于显示命令的进度。它使用来自文件描述符的信息来确定命令的进度。Progress
的优点在于它可以与其他 Linux
命令一起使用,比如 watch
。
Progress 支持的命令
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、rclone、ffmpeg
1. 安装 Progress
项目地址:https://github.com/Xfennec/progress
1.1 安装编译所需依赖
- Debian/Ubuntu
$ apt-get install libncurses5-dev
# 高版本可直接安装 Progress
$ apt install progress
- Centos
$ yum install ncurses-devel
1.2 下载源码
$ git clone https://github.com/Xfennec/progress.git
1.3 编译安装
$ cd progress
$ make && make install
2. progress 使用举例
2.1 显示默认支持命令的执行进度
- 单次显示
$ progress
- 持续显示
$ progress -M
2.2 显示指定命令的执行进度
- 单次显示
$ progress -c ffmpeg
- 持续显示
$ progress -M -c ffmpeg
如果你想监控其它命令,只需将 ffmpeg
换成你想监控的命令即可。你也可以连续使用多个 -c
同时监控多个命令的执行进度。
2.3 显示指定 PID 的执行进度
- 单次显示
$ progress -p 进程号
- 持续显示
$ progress -M -p 进程号
- Progress 一些其它操作方式
$ watch progress -wq
$ watch progress -wc firefox
$ progress -c httpd
$ cp bigfile newfile & progress -mp $!
更多监控显示方案可自行组合发掘。