如何在 Linux 下 使用 Progress 显示命令执行进度
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 $!
更多监控显示方案可自行组合发掘
-----------------
cenots 安装
Progress工具依赖ncurses库,先安装ncurses-devel然后再编译安装progress
[root@localhost ~]# yum -y install ncurses-devel
[root@localhost ~]# git clone https://github.com/Xfennec/progress
[root@localhost ~]# cd progress/
[root@localhost progress]# make && make install
运行progress
如果没有命令在运行,那么progress程序将退出并告诉你,没有命令正在运行。

浙公网安备 33010602011771号