Progress - 在 Linux 中监控基本命令进度的工具
Progress是一个基于命令行的小工具,以前称为 Coreutils Progress Viewer。这个工具是用C语言编写的。此命令查找当前在系统上运行的 Coreutils 基本命令,如 cp、mv、dd、tar、gzip、cat 等,并显示复制数据的百分比。该工具还可以显示估计的时间和吞吐量,并提供“类顶”模式。这是一个非常轻便的工具。 Progress 工具可用于 Linux、FreeBSD 和 macOS。
安装进度工具
现在让我们看看如何在系统上安装进度工具。我们将使用系统包管理器来安装进度工具。根据您的操作系统使用以下命令之一:
对于基于 Deb 的系统(Debian、Ubuntu、Mint 等):
apt install progress
对于 Arch Linux:
pacman -S progress
对于 Fedora:
dnf install progress
对于 Red Hat、CentOS:
yum install progress
对于带有自制软件的 macOS:
brew install progress
对于带有 MacPorts 的 macOS:
port install progress
使用进度工具
成功安装进度工具后,现在让我们看看如何使用进度工具。要获取进度工具显示进度的 Coreutils 命令列表,只需运行 progress 命令:
progress
现在让我们通过一个操作来看看它是如何工作的。
如我们所见,progress 命令显示 PID 3185 复制一个文件,已完成 26%。要显示正在进行的 coreutils 命令的估计 I/O 吞吐量和估计剩余时间,请使用 -w 选项和 progress 命令:
progress -w
要连续监视命令而不再次运行进度命令,我们可以使用 -m 选项和 $!变量如下:
cp Fedora-Workstation-Live-x86_64-34-1.2.iso ../ | progress -m $!
这将持续显示正在运行的命令的状态。
要在简单窗口中查看所有当前和即将出现的 coreutils 命令实例,请使用以下命令:
watch progress -q
要监控您的下载进度,您可以使用以下命令:
watch progress -wc firefox
要监视 Web 服务器活动,可以使用以下命令:
progress -c httpd
进度工具如何工作?
为了收集信息,此工具会扫描 /proc 目录中的 coreutils 命令,然后在 fd 和 fdinfo 目录中搜索打开的文件,然后报告最大文件的状态。这是一个非常轻便的工具,几乎与任何命令兼容。
man progress