给你的linux mv cp命令添加进度显示

1.前言

我们可以用Github 上的开源项目 advcpmv 来实现 Linux mv cp命令显示进度

2.原理

mv cp命令属于coreutils
coreutils是GNU下的一个软件包,提供了常用的核心工具集,简单来说就是提供了linux基础常用命令,比如ls mv cp 命令,一般系统是默认安装的
我们要给coreutils打个补丁然后重新编译并安装他,以此实现进度条显示

3.教程

3.1 自动安装(推荐)

自动安装更加方便,仅需执行一行命令即可,还可以自动下载最新版的,不用操心版本问题
执行命令前,请确保你开启了梯子

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

然后我们就可以在使用cp/mv命令的时候加上-g参数就能显示进度条了
如果你想每次使用cp/mv命令的时候不加-g 且每次都想要查看进度的话
那么可以在.bashrc上加入

1
2
alias cp='cp -ig'
alias mv='mv -ig'

3.2 手动安装

注:如果您看到此篇文章已经是很久了,那么请访问http://ftp.gnu.org/gnu/coreutils查看最新版本,并替换版本号
下载新的coreutils

1
wget http://ftp.gnu.org/gnu/coreutils/coreutils-9.1.tar.xz

解压coreutils-9.1.tar.xz

1
tar -xvpf coreutils-9.1.tar.xz

移动到解压完后的目录

1
cd coreutils-9.1

下载github上的补丁文件

1
wget https://github.com/jarun/advcpmv/blob/master/advcpmv-0.9-9.1.patch

打补丁

1
patch -p1 -i advcpmv-0.9-9.1.patch

编译安装

1
2
3
4
5
# 先执行
./configure

# 再执行
make

把打好补丁的文件复制到bin目录下

1
2
sudo cp src/cp /usr/local/bin/cp
sudo cp src/mv /usr/local/bin/mv

然后我们就可以在使用cp/mv命令的时候加上-g参数就能显示进度条了
如果你想每次使用cp/mv命令的时候不加-g 且每次都想要查看进度的话
那么可以在.bashrc上加入

1
2
alias cp='cp -ig'
alias mv='mv -ig'

4.效果

图片
第一行进度条为总进度
第二行进度条为当前文件进度

给你的linux mv cp命令添加进度显示

https://blog.kcbpmbf.com/2022/08/linux-cp-mv/

作者

KCBPMBF

发布于

2022-08-18

更新于

2022-08-22

许可协议

CC BY-NC-SA 4.0


评论