mv和cp命令添加进度条
# 告别无进度等待:Linux系统中为cp和mv命令加上实时进度条
在Linux系统中,文件复制和移动是日常操作中不可避免的任务。尽管传统的cp
和mv
命令功能强大,但它们在处理大文件或大量文件时,缺乏实时反馈。为了解决这一问题,我们今天将介绍advcpmv
,一个增强版的cp
和mv
工具,它为文件操作带来了进度条显示、速度监控等实用功能,显著提升用户体验。
# 一、advcpmv简介
advcpmv
是一款Linux工具,用于替代cp
和mv
命令。其主要特点是在文件复制和移动时显示实时进度条、传输速度及预计完成时间。这些信息对于大型文件或长时间操作尤为有用,可以让用户更好地掌握操作进程。此外,advcpmv
还支持批量文件操作,在处理大量数据时尤为高效。
# 二、advcpmv的优势
在深入了解advcpmv
的安装和使用之前,让我们先看看它相比传统cp
和mv
命令的主要优势:
- 实时进度条:
advcpmv
在复制或移动文件时显示进度条,让用户可以直观地了解操作进度。 - 传输速度显示:工具会显示当前的传输速度,帮助用户评估操作的效率。
- 预计完成时间:根据当前速度估算操作完成所需的时间,方便用户合理安排时间。
- 支持大文件和批量操作:特别适合处理大文件或批量文件,效率明显提升。
# 三、安装advcpmv
接下来,我们将分步骤介绍如何安装advcpmv
。
# 3.1 前置准备
在开始安装之前,请确保您的系统已安装了curl
和bash
,并且您具有sudo
权限。对于某些系统,可能还需要先安装开发工具包(如build-essential
)。
# 3.2 设置环境变量
安装过程中,有时可能会遇到与configure
脚本相关的安全警告。为避免这种情况,可以设置以下环境变量:
export FORCE_UNSAFE_CONFIGURE=1
此变量允许configure
脚本在安装过程中绕过一些安全检查。
# 3.3 下载并安装
使用以下命令下载并执行安装脚本:
curl https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)
此脚本将自动下载所需的文件并进行编译。
如果无法现在,请关注公众号“编程与架构“,发送: 6374 获取下载链接。
# 3.4 手动安装步骤
如果需要手动进行安装,请进入源码目录并执行以下命令:
sudo mv ./advcpmv/advcp /usr/local/bin/cpg
sudo mv ./advcpmv/advmv /usr/local/bin/mvg
2
注意:从v9.0版本开始,进度条功能与
reflink
(引用链接)不兼容。因此,在使用进度条功能时,reflink
功能将被禁用。
# 3.5 配置别名
为了更方便地使用advcpmv
,可以为cp
和mv
命令设置别名:
echo "alias cp='/usr/local/bin/cpg -g'" >> ~/.bashrc
echo "alias mv='/usr/local/bin/mvg -g'" >> ~/.bashrc
source ~/.bashrc
2
3
这些别名会在执行cp
和mv
命令时自动调用advcpmv
的版本,并显示进度条。
# 四、使用advcpmv
安装完成后,我们可以通过以下步骤来熟悉advcpmv
的使用。
# 4.1 查看帮助信息
要了解更多使用选项,可以使用--help
选项查看advcp
和advmv
的帮助信息:
mv --help
cp --help
2
# 4.2 实际操作
下面是一个通过advcpmv
复制文件的实际示例:
dd if=/dev/zero of=file.txt bs=1M count=500
cp file.txt /tmp/
2
在执行过程中,您将看到类似以下的信息:
copying at 598.4 MiB/s (about 0h 0m 25s remaining)
file.txt 1.2 GiB / 4.9 GiB
[=========================> ] 24.2 %
2
3
这不仅直观地展示了文件复制的进度,还可以帮助用户掌握操作速度和预计完成时间。
# 五、总结
advcpmv
是一个功能强大的Linux文件操作工具,提供了直观的进度显示和传输速度信息,极大地提高了用户在处理大文件或大量文件时的效率。对于那些经常需要进行文件复制和移动操作的Linux用户来说,advcpmv
无疑是一个不可或缺的利器。通过简单的安装和配置,您就可以在日常操作中享受到更好的用户体验。