首页 > 文章列表 > 如何在Linux中使用cp命令显示拷贝进度

如何在Linux中使用cp命令显示拷贝进度

linux cp advcpmv
212 2024-03-29

1、背景

在Linux中使用cp命令复制大文件时,通常无法实时查看复制进度,这种情况可能会让人感到焦虑,因为无法知道复制的进度。但是可以通过一些技巧为cp命令添加一个可视化的进度条,让用户能够清晰地看到复制的进度。

2、编译

我们采用开源项目:advcpmv

github地址为:

https://github.com/jarun/advcpmv

可直接使用下面的命令编译安装(非root),在Linux环境下执行,我这里使用CentOS操作系统来演示:

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

linux cp命令怎么显示进度条

如果需要在root用户下执行,将下载下来的安装脚本前添加环境变量

FORCE_UNSAFE_CONFIGURE=1 ./install.sh

脚本结束后如下图所示:

linux cp命令怎么显示进度条

# 显示当前目录下已经编译好的文件
cd advcpmv && ls

linux cp命令怎么显示进度条

3、安装使用

使用以下命令,安装使用:

sudo mv ./advcp /usr/local/bin/advcp
sudo mv ./advmv /usr/local/bin/advmv

测试拷贝:

advcp -g 源文件 目标位置

发现已经成功出现了进度条:

linux cp命令怎么显示进度条

如果想直接代替原有的cp和mv命令,可以使用别名的方式实现:

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

4、总结

如果在公司有经常拷贝大文件的需求,可以将此命令集成到生产环境的Linux系统命令下,方便直接使用。