Advanced-Copy 是一个功能强大的命令行程序,非常相似,但对原始 cp 命令和 mv 工具进行了少许修改。

这个 cp 命令的修改版本添加了一个进度条以及将大文件从一个位置复制到另一个位置时完成所需的总时间。

此附加功能非常有用,尤其是在复制大文件时,这让用户了解复制过程的状态以及完成所需的时间。

在 Linux 中安装 Advanced-Copy

在Linux系统中安装Advanced-Copy实用程序的唯一方法是使用以下单个curl 命令从源构建,该命令将下载、修补、编译 coreutils 并生成文件:./advcpmv/advcp./advcpmv/advmv

Linux迷 www.linuxmi.com> curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

在安装过程中,您可能会遇到以下错误。

checking whether mknod can create fifo without root privileges... configure: error: in `/home/linuxmi/www.linuxmi.com/advcpmv/coreutils-9.1':
configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details

在终端上运行以下命令以修复该错误并再次运行curl 命令。

Linux迷 www.linuxmi.com> export FORCE_UNSAFE_CONFIGURE=1
Linux迷 www.linuxmi.com> curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)

安装完成后,将在 ./advcpmv/advcp 和 ./advcpmv/advmv 下创建两个新命令。您需要用这两个新命令替换原来的 cp 和 mv 命令,以便在复制文件时获得进度条。

Linux迷 www.linuxmi.com> mv ./advcpmv/advcp /usr/local/bin/cp
Linux迷 www.linuxmi.com> mv ./advcpmv/advmv /usr/local/bin/mv

注意:如果您不想在标准系统路径下复制这些命令,您仍然可以从源目录运行它们,如“ ./advcpmv/advcp ”和“ ./advcpmv/advmv ”或创建新命令,如下所示。

# mv ./advcpmv/advcp /usr/local/bin/cpg
# mv ./advcpmv/advmv /usr/local/bin/mvg

复制文件和目录时显示进度条

如果您希望在复制文件和目录时始终显示进度条,则需要将以下行添加到您的~/.bashrc文件中。

# echo alias cp '/usr/local/bin/advcp -g' >> ~/.bashrc
# echo alias mv '/usr/local/bin/advmv -g' >> ~/.bashrc

您需要注销 并再次登录才能使其正常工作。

如何在 Linux 中使用高级复制命令

命令是相同的,唯一的变化是在 cp 命令中添加“ -g ”或“ -progress-bar ”选项。“ -R ”选项用于递归复制目录。

使用进度条复制文件

以下是使用 Advanced-Copy 命令复制过程的示例屏幕截图。

linuxmi@linuxmi /home/linuxmi/linuxmi.com                                             
⚡ cp -gR ubuntu-20.04.6.iso /home/linuxmi/www.linuxmi.com

在 Linux 中显示进度条复制文件

或者:

linuxmi@linuxmi /home/linuxmi/linuxmi.com                                         
⚡ cp -R --progress-bar ubuntu-20.04.6.iso /home/linuxmi/www.linuxmi.com

在 Linux 中显示进度条复制文件

使用进度条移动文件

这是带有屏幕截图的“ mv ”命令示例。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ mv --progress-bar ubuntu-20.04.6.iso /home/linuxmi/linuxmi.com 
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ mv -g ubuntu-20.04.6.iso /home/linuxmi/linuxmi.com 
在 Linux 中移动文件

请记住,如果您需要使用原始命令,或者您对新进度条不满意并想恢复到原始 cp 和 mv 命令,则原始命令不会被覆盖。您可以通过 /usr/bin/cp 或 /usr/bin/mv 调用它们。

这个新的进度条功能给我留下了深刻的印象,至少我会知道一些关于复制操作时间的信息以及到底发生了什么。

感谢 Linux迷的精彩分享。

发表回复