给你的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 | alias cp='cp -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 | # 先执行 |
把打好补丁的文件复制到bin目录下
1 | sudo cp src/cp /usr/local/bin/cp |
然后我们就可以在使用cp/mv命令的时候加上-g参数就能显示进度条了
如果你想每次使用cp/mv命令的时候不加-g 且每次都想要查看进度的话
那么可以在.bashrc
上加入
1 | alias cp='cp -ig' |
4.效果
第一行进度条为总进度
第二行进度条为当前文件进度
给你的linux mv cp命令添加进度显示