Linux下显示cp/mv进度的两种方式
Linux下的命令高效简洁,但同时进度显示不是很友好,比如mv、cp、dd等命令。在没有进度显示的情况下,无法判断命令是正在执行还是卡住了,还是执行缓慢,progress,advcpmv等命令显示具体进度可以解决这个问题
一、方法1:使用progress命令
关于progress命令
代码语言:javascript复制https://github.com/Xfennec/progress
(图片可点击放大查看)
CentOS7下可以直接如下地址下载rpm包
代码语言:javascript复制https://cbs.centos.org/kojifiles/packages/progress/0.13/1.el7/x86_64/progress-0.13-1.el7.x86_64.rpm
安装步骤
代码语言:javascript复制wget --no-check-certificate https://cbs.centos.org/kojifiles/packages/progress/0.13/1.el7/x86_64/progress-0.13-1.el7.x86_64.rpm
rpm -ivh progress-0.13-1.el7.x86_64.rpm
(图片可点击放大查看)
使用方式举例
代码语言:javascript复制例如拷贝大文件时,再开一个终端窗口
cp CentOS-7-x86_64-DVD-2009.iso /home/
progress -M -w 或者watch -n1 progress -w
(图片可点击放大查看)
(图片可点击放大查看)
man progresss查看progress命令的用法
(图片可点击放大查看)
二、方法2:advcpmv
Github项目地址
代码语言:javascript复制https://github.com/jarun/advcpmv
(图片可点击放大查看)
提前下载好github上的advcpmv-0.9-9.1.patch
需要先编译带进度条功能的mv和cp命令
具体步骤如下
代码语言:javascript复制wget http://ftp.gnu.org/gnu/coreutils/coreutils-9.1.tar.xz
tar -xJf coreutils-9.1.tar.xz
cd coreutils-9.1
上传advcpmv-0.9-9.1.patch文件
patch -p1 -i advcpmv-0.9-9.1.patch
(图片可点击放大查看)
接下来编译 如果用root用户下进行编译的话 先执行
代码语言:javascript复制export FORCE_UNSAFE_CONFIGURE=1
./configure
make
(图片可点击放大查看)
(图片可点击放大查看)
编译完成后拷贝生成的cp/mv命令
代码语言:javascript复制/home/coreutils-9.1/src
cp /home/coreutils-9.1/src/cp /usr/local/bin/cpg
cp /home/coreutils-9.1/src/mv /usr/local/bin/mvg
(图片可点击放大查看)
显示进度条的具体用法
代码语言:javascript复制mvg -g
cpg -g
#示例
mvg -g /home/CentOS-7-x86_64-DVD-2009.iso /opt
cpg -g /home/CentOS-7-x86_64-DVD-2009.iso /opt
(图片可点击放大查看)
(图片可点击放大查看)