如何使用pv命令监控Linux命令的执行进度、删除文件、检查错误等。很多时候,您键入一条命令,然后等待很长时间直到它执行完毕。也有你执行的命令挂掉的时候,你只能猜测命令执行的实际情况。 通常linux命令不提供与进度相关的信息,这非常重要,尤其是当您的时间有限时。然而,这并不意味着您无能为力-有一个命令pv,它将显示当前在命令行上执行的命令的进度信息。在这篇文章中,我们将讨论它并通过几个简单的例子来说明它的属性。 PV命令 PV由AndrewWood开发,是PipeViewer的缩写,意思是通过管道显示数据处理的进度信息。此信息包括已用时间、完成百分比(由进度条显示)、当前速度、总传输数据和估计剩余时间。“要使用PV,通过适当的选项,将其放置在两个进程之间的管道中。命令的标准输入将通过标准输出传入,进度将输出到标准错误输出。” 以上解释来自该命令的手册页。下载并安装 基于Debian的操作系统,例如Ubuntu,您可以简单地使用以下命令安装PV: sudoapt-getinstallpv 如果您使用其他发行版,您可以使用它们各自的包管理软件在您的系统上安装PV。安装PV后,您可以在各种情况下使用它(详见下文)。请注意,以下所有示例都使用pv1.2.0。功能和使用 我们大多数人(Linux上的命令行用户)都会使用的一个命令是将电影文件从USB驱动器复制到您的计算机。如果您使用cp执行上述操作,您将永远不知道发生了什么,直到复制过程结束或出现问题。 但是pv命令在这种情况下很有用。例如: pv/media/himanshu/1AC2-A8E3/fNf.mkv>./Desktop/fnf.mkv 输出以下内容: pv-co??py 所以,如您所见,此命令显示有关操作的许多有用信息,包括传输的数据量、所用时间、传输速率、进度条、进度百分比和剩余时间。 pv命令提供了各种显示选项开关。比如可以用-p显示百分比,-t显示时间,-r表示传输速率,-e表示eta(译注:预估剩余时间)。好处是您不必记住某个选项,因为默认情况下它们都是启用的。但是,如果您只需要其中一项信息,则可以通过控制这些选项来完成任务。 还有一个-n选项允许pv命令显示整数百分比,标准错误输出每行一个数字,而不是通常的可视化进度条。这里有一个例子: pv-n/media/himanshu/1AC2-A8E3/fNf.mkv>./Desktop/fnf.mkv pv-numeric 这个特殊选项非常适合某些情况下的需求,例如如果你想将输出通过管道传递给对话框命令。 接下来,还有另一个命令行选项,-L允许您修改pv命令的传输速率。例如,使用-L选项将传输速率限制为2MB/s。 pv-L2m/media/himanshu/1AC2-A8E3/fNf.mkv>./Desktop/fnf.mkv pv-ratelimit 如上图所示,数据传输速度受限根据我们的要求。 pv可以提供帮助的另一个场景是压缩文件。下面举例说明它是如何与压缩软件Gzip配合使用的。 pv/media/himanshu/1AC2-A8E3/fnf.mkv|gzip>./Desktop/fnf.log.gz pv-gzip 结论 上面说了pv是一个很好用的一个小工具,可以在命令未按预期执行时为您节省宝贵的时间。并且显示的信息也可以在shell脚本中使用。我强烈推荐你使用这个命令,值得一试。via:https://www.maketecheasier.com/monitor-progress-linux-command-line-operation/作者:HimanshuArora译者:ezio校对:wxy
