您的位置:首页 > 运维架构 > Linux

Coreutils Viewer -- 显示linux命令运行进度的工具

2015-06-12 17:40 1026 查看
本博客系转载文章,内容有所改动,感谢原文作者及译者

Coreutils Viewer (cv)是一个简单的程序,它可以显示任何核心组件命令(如:cp、mv、dd、tar、gzip、gunzip、cat、grep、fgrep、egrep、cut、sort、xz、exiting)的进度。它使用文件描述信息来确定一个命令的进度,比如cp命令。cv之美在于,它能够和其它linux命令一起使用,比如你所知道的watch以及I/O重定向命令。这样,你就可以在脚本中使用,或者你能想到的所有方式,别让你的想象力束缚住你。



安装

你可以从github仓库下载所需的源文件。把zip文件下载下来后,将它解压缩,然后进入到解压后的文件夹。改程序需要ncurses library。如果你已经再你的linux系统中安装了ncurses,那么cv的安装过程对你而言就是那么的轻松写意。通过以下两个简单步骤来进行编译和安装吧。

make

make install

运行cv

如果执行了完整的安装步骤,那么可以像运行其他命令一样直接运行cv命令;如果在安装过程中没有执行 make install 命令,那么则需要从安装目录中启动cv,如

./cv

如果没有核心组件命令在运行,那么cv程序会退出,并告诉你:没有核心组件命令在运行。(实验的实际情况是,如果没有核心组件命令在执行,cv命令只是没有进度输出而已。



要有效使用改程序,请在你的系统上运行某个核心组件程序。在本例中,我们将使用cp命令。

当拷贝一个文件时,你就可以看到当前进度了,以百分比显示。



添加选项到cv

你也可以添加几个选项到cv命令,就像其他命令一样。一个有用的选项是让你了解到拷贝或移动大文件时预期剩余时间。

添加-w选项,它就会帮你显示预计的剩余时间。

cv -w



试着添加更多的命令选项吧。像下面这样添加其它选项:

cv -wq

cv和watch命令

是一个用于周期性运行程序并显示输出结果的程序。有时候,你可能想要持续看看命令运行状况而不像将 cv 的结果存储到日志文件中。在这种情况下,watch 就会排上用场了,它可以和cv一起使用。

watch cv -qw

该命令将会显示所有运行着的核心组件命令的实例。它也会显示进度和预计完成时间。



在日志文件中查看输出结果

正如其所承诺的那样,你可以使用cv来重定向它的输出结果到一个日志文件。这功能在命令运行太快而看不到任何有意义的内容时特别有用。

要在日志文件中查看进度,你仅仅需要重定向输出结果,就像下面这样

cv -w >> log.txt

要查看该命令的输出结果,请你用你喜爱的文本编辑器打开日志文件,也可以用cat命令,就像下面这样:

cat log.txt

获得帮助

如果你在任何地方受到阻碍,你总是可以通过查阅手册页或使用help选项来获取帮助信息。要获取帮助信息,可以使用带 -h 选项的 cv 命令。

cv -h

如果需要更多详细信息,那么手册页是个很不错的地方。

man cv

但是,要获取上述手册页,你必须执行 make install 来安装cv。

耶!现在,你的linux工具箱中又多了个伟大的工具。你学会了么?亲自去试试吧!~

How does it work?

It simply scans /proc for interesting commands, and then looks at directories fd and fdinfo to find opened files and seek positions, and reports status for the largest file.

It’s very light, and compatible with virtually any command.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: