Advanced-Copy——在 Linux 中复制/移动文件时显示进度条

1023人浏览   2023-10-23 15:03:27

概述

Advanced-Copy是一个功能强大的命令行程序,非常相似,但对原始cp 命令和mv 工具进行了少许修改。这个cp 命令的修改版本添加了一个进度条以及将大文件从一个位置复制到另一个位置所花费的总时间。此附加功能非常有用,尤其是在复制大文件时,这让用户了解复制过程的状态以及完成所需的时间。

在 Linux 中安装Advanced-Copy

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

# 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 `/root/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 命令。

# export FORCE_UNSAFE_CONFIGURE=1 
# 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命令,以便在复制文件时获得进度条。

# mv ./advcpmv/advcp /usr/local/bin/cp 
# 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 ”选项用于递归复制目录。

使用进度条复制文件

以下是使用高级复制命令的复制过程的。

# cp -gR ubuntu-20.04.3-desktop-amd64.iso /home/tecmint/# cp -R --progress-bar ubuntu-20.04.3-desktop-amd64.iso /home/tecmint/

使用进度条移动文件

# mv --progress-bar Songs/ /data/# mv -g Songs/ /data/

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

总的来说,我可以说,它是一款非常适合随身携带的工具,尤其是当您花费大量时间通过命令行复制和移动文件时。

相关推荐