如何使用“pv”命令通过管道监控数据的进度

想象一下这个场景。 您正在尝试通过命令行将一个大文件从一个目录复制到另一个或一个系统到另一个。 您可能知道,如果您使用“cp”命令,您将看不到任何复制任务的指示。 你只会看到一个空的屏幕。 在复制过程完成之前,您无法确定复制过程是否正在进行。 在这种情况下,您可以使用 光伏 命令来监控数据的进度。 pv,缩写 p伊普 viewer,命令允许用户通过提供以下信息来查看数据通过管道的进度:

  • 经过的总时间,
  • 完成百分比(带进度条),
  • 当前吞吐率,
  • 传输的总数据,
  • 和预计到达时间。

在这个简短的教程中,我们将了解如何以及在何处使用 pv 命令来监控类 Unix 系统中的数据进度。

下载免费备忘单:“Linux 命令行备忘单”

在 Linux 中安装 pv

大多数现代 Linux 发行版都预装了 pv 命令。 以防万一它尚未安装,您可以通过从终端运行以下命令来安装它,具体取决于您使用的 Linux 发行版。

在 Arch Linux、Antergos、Manjaro Linux 上:

$ sudo pacman -S pv

在 RHEL、CentOS、 Fedora:

$ sudo yum install pv

或者,

$ sudo dnf install pv

在 Debian、Linux Mint、Ubuntu 上:

$ sudo apt-get install pv

在 SUSE 上,openSUSE:

$ sudo zypper in pv

现在,我们已经安装了光伏。 让我给你看一些例子。

使用“pv”命令通过管道监控数据的进度

查看以下命令的输出:

$ cp CentOS7.iso Downloads/

cp 命令

此命令将 CentOS 7 ISO 映像复制到 下载 我的本地系统中的目录。 正如您在上面的输出中看到的,它没有显示任何进度条。 您只会看到光标闪烁。 我们不知道复制过程需要多长时间。 有时这可能很烦人,因为我们看不到该命令何时完成的任何迹象。 这就是 pv 命令提供帮助的地方。 pv 命令将显示 Linux 命令的进度,并显示 Linux 命令何时完成。 因此,您可以离开终端并执行一些其他任务,并在任务完成后返回。

现在,让我们对管道查看器(pv)做同样的事情,看看输出是什么。

$ pv CentOS7.iso > Downloads/centos.iso