高级复制–在Linux中的cp和mv命令中添加进度条

GNU cpGNU mv 工具用于在GNU / Linux操作系统中复制和移动文件和目录。 这两个实用程序缺少的一项功能是它们不会显示任何进度条。 如果复制大文件或目录,您实际上不知道复制过程将花费多长时间或复制的数据百分比。 您将看不到当前正在复制哪个文件,或者已经复制了多少个文件。 您只会看到闪烁的光标和硬盘驱动器LED指示灯。 谢谢 高级复印,是 Gnu Coreutils,我们现在可以将进度条添加到 cpmv Linux中的命令,并在复制和/或移动大文件和目录时显示进度栏。

Advanced Copy是用于 GNU cpGNU mv 程式。 它添加了一个进度条,并提供了有关复制或移动文件和文件夹时发生的情况的一些信息。 不仅进度条,它还显示数据传输速率,估计的剩余时间以及当前正在复制的文件名。 最后,您将看到一份简短的摘要,其中介绍了要复制多少个文件以及复制文件花费了多长时间。

安装“高级复制”修补程序以在Linux中的cp和mv命令中添加进度条

cp和mv命令是 GNU coreutils。 所以你需要下载最新的 GNU coreutils这里

$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz

使用以下命令解压缩下载的档案:

$ tar xvJf coreutils-8.32.tar.xz

此命令将coreutils归档文件提取到名为的文件夹中 coreutils-8.32 在当前目录中。 放入CD:

$ cd coreutils-8.32/

使用以下命令下载Advanced Copy修补程序:

$ wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch

最后,通过逐个运行以下命令来应用补丁:

$ patch -p1 -i advcpmv-0.8-8.32.patch
$ ./configure
$ make

现在有两个新的修补二进制文件 cpmv 将在 coreutils-8.32/src 夹。 只需将它们复制到您的$ PATH中,如下所示:

$ sudo cp src/cp /usr/local/bin/cp
$ sudo cp src/mv /usr/local/bin/mv

而已。 的 cpmv 命令现在具有进度条功能。

每当您在复制或移动文件和目录时需要进度条时,只需添加 -g 如下标记:

$ cp -g archlinux.iso mydownload/

或使用 --progress-bar 旗:

$ cp --progress-bar archlinux.iso mydownload/

样本输出:

Copying at  25.7 MiB/s (about 0h 0m 1s remaining)
archlinux.iso                                                          568.1 MiB / 646.0 MiB
[=========================================================================>                  ] 87.9 %

在Linux中的cp和mv命令中添加进度条

在复制过程结束时,您将看到复制了多少文件,复制文件花费了多长时间以及每秒的数据传输速率。 很好,不是吗?

1 files (646.0 MiB) copied in 11.8 seconds ( 54.7 MiB/s).

要递归复制目录及其子目录,只需添加 -R 旗:

$ cp -gR directory1/ directory2/

同样,使用 mv 命令,运行:

$ mv -g archlinux.iso mydownload/

或者,使用 --progress-bar 旗:

$ mv --progress-bar archlinux.iso mydownload/

使用移动目录 mv 命令,使用:

$ mv -g directory1/ directory2/

您还可以创建别名以保存一些按键。 为此,请编辑 ~/.bashrc 文件:

$ nano ~/.bashrc

在末尾添加以下行:

alias cp='/usr/local/bin/cp -gR'
alias mv='/usr/local/bin/mv -g'

Ctrl+oCtl+x 保存并关闭文件。

现在运行以下命令以使更改生效:

$ source ~/.bashrc

从现在开始,您可以使用 cp 要么 mv 没有命令 -g (要么 --progress-bar)标志。

请注意,原始程序不会被覆盖。 您仍然可以随时通过以下方式致电给他们 /usr/bin/cp 要么 /usr/bin/mv

将进度条功能添加到 cpmv 如果您经常复制或移动许多大文件和目录,则命令是一个好主意。 现在,您可以查看复制和移动文件时到底发生了什么,而不必注视屏幕。

资源:

相关阅读:

  • gcp – Linux的高级文件复制器实用程序
  • 如何使用“ pv”命令通过管道监视数据进度

高级Copycopy文件Gnu CoreutilsLinuxLinux命令移动文件

Sidebar