Progress(原名Coreutils Viewer)是一个轻量级的C语言编写的命令行工具,用于在Linux和Mac OS X系统上追踪和显示coreutils基本命令(如cp、mv、tar、dd、gzip/gunzip、cat、grep等)的执行情况。它能够展示数据复制的进度百分比、预计完成时间和吞吐量等关键信息,并提供类似于“top”命令的实时更新模式。
可以用于彻底扫描/proc文件系统来查找有趣的命令,然后再搜素fd和fdinfo目录查找打开文件位置并报告大量文件状态。且progress属于轻量级工具几乎和任何命令都兼容。想应用progress需要ncurses库才能工作,继续安装前要先安装libncurses:
$ sudo apt install libncurses5-dev [在Debian、Ubuntu 和 Mint上]
$ sudo yum install ncurses-devel [在RHEL/CentOS/Fedora和Rocky Linux/AlmaLinux上]
$ sudo emerge -a ncurses-devel [在Gentoo Linux上]
$ sudo apk add ncurses-dev [在Alpine Linux上]
$ sudo pacman -S ncurses-devel [在Arch Linux上]
$ sudo zypper install ncurses-devel [在OpenSUSE上]
在基于rpm发行版上(Red Hat, CentOS, Fedora, SUSE, Rocky, AlmaLinux, etc.):
$ sudo dnf install progress
$ sudo yum install progress
在基于deb系统(Debian、Ubuntu、Mint 等)上运行:
$ sudo apt install progress
Arch Linux 上,运行:
$ sudo pacman -S progress
在其他 Linux 发行版上,你可以从其 Github 存储库克隆或下载包文件,如下所示:
# git clone https://github.com/Xfennec/progress.git
再进入目录并构建:
$ cd progress
$ make
$ sudo make install
安装成功后,只要从终端运行即可。如可通过不带任何选项运行Progress来查看它所使用的所有coreutils命令,前提是系统上没有执行任何 coreutils 命令:
$ progress
显示估计的 I/O 吞吐量以及正在进行的 coreutils 命令的估计剩余时间,请启用该-w选项:
$ progress -w
查看cp命令进度,在复制大文件时运行:
$ cp GhostBSD.vdi /home/tecmint/Downloads/ & progress -mp $!
如果是要移动大文件查看mv命令运行:
$ mv GhostBSD.vdi /media/tecmint/Personal_Data/ & progress -mp $!
显示Tar文件进度,创建tar存档时查看tar命令进度运行:
$ tar czf images.tar.gz linuxmint-18-cinnamon-64bit.iso CentOS-7.0-1406-x86_64-DVD.iso CubLinux-1.0RC-amd64.iso | progress -m$!
可以打开两个或多个终端窗口,然后在每个终端窗口中运行 coreutils 命令,并使用另一个终端窗口观察它们的进度,用下面命令将使您能够监视 coreutils 命令的所有当前和即将发生的实例:
$ watch progress -q
了解更多选项可以查看进度手册页:
$ man progress
如需更多帮助继续关注华纳云!