这 GNU cp
和 GNU mv
工具用于在 GNU/Linux 操作系统中复制和移动文件和目录。 这两个实用程序中缺少的一个功能是它们不显示任何进度条。 如果你复制一个大文件或目录,你真的不知道复制过程需要多长时间才能完成,或者复制的数据百分比。 您不会看到当前正在复制哪个文件,或者已经复制了多少文件。 您将看到的只是闪烁的光标和硬盘驱动器 LED 指示灯。 谢谢 高级复制,一个补丁 Gnu Coreutils
,我们现在可以添加进度条 cp
和 mv
Linux 中的命令并在复制和/或移动大文件和目录时显示进度条。
高级副本是一个 mod GNU cp
和 GNU mv
程式。 它添加了一个进度条,并提供有关复制或移动文件和文件夹时发生的情况的一些信息。 不仅是进度条,它还显示数据传输速率、估计剩余时间和当前正在复制的文件名。 最后,您将看到关于复制了多少文件以及复制文件所用时间的简短摘要。
安装“高级复制”补丁以在 Linux 中向 cp 和 mv 命令添加进度条
cp 和 mv 命令是 GNU coreutils
. 所以你需要下载最新的 GNU coreutils
从 这里.
$ wget https://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/
使用以下命令下载高级复制补丁:
$ 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
现在有两个新的修补二进制文件,即 cp
和 mv
将在 coreutils-8.32/src
文件夹。 只需将它们复制到您的 $PATH 中,如下所示:
$ sudo cp src/cp /usr/local/bin/cp
$ sudo cp src/mv /usr/local/bin/mv
而已。 这 cp
和 mv
命令现在具有进度条功能。
每当您在复制或移动文件和目录时需要进度条时,只需添加 -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 %
在复制过程结束时,您将看到复制了多少文件、复制文件所需的时间以及每秒的数据传输速率。 不错,不是吗?
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+o
和 Ctl+x
保存和 close 文件。
现在运行以下命令使更改生效:
$ source ~/.bashrc
从现在开始,您只需使用 cp
或者 mv
没有命令 -g
(或者 --progress-bar
) 旗帜。
请注意,原始程序不会被覆盖。 您仍然可以通过以下方式随时致电他们 /usr/bin/cp
或者 /usr/bin/mv
.
添加进度条功能 cp
和 mv
如果您经常复制或移动大量大文件和目录,则命令是一个好主意。 您现在可以在复制和移动文件时看到到底发生了什么,而不是盯着屏幕。
笔记:
原作者将补丁发送给维护 GNU CoreUtils 的团队。 他们不会合并这个补丁,因为 mv 和 cp 是功能完整的。
资源:
- 高级复制 GitHub 存储库
- Internet Archive 上的高级复制
相关阅读:
- gcp – Linux 的高级文件复制器实用程序
- 如何使用“pv”命令监视通过管道的数据进度
Advanced Copycopy filescp 命令Gnu CoreutilsLinuxLinux 命令Linux 如何Linux 提示移动文件mv 命令