黑帽联盟

标题: Linux下显示cp/mv进度的两种方式 [打印本页]

作者: 定位    时间: 2023-5-29 18:47
标题: Linux下显示cp/mv进度的两种方式
Linux下显示cp/mv进度的两种方式

Linux下的命令高效简洁,但同时进度显示不是很友好,比如mv、cp、dd等命令。在没有进度显示的情况下,无法判断命令是正在执行还是卡住了,还是执行缓慢,progress,advcpmv等命令显示具体进度可以解决这个问题

一、方法1:使用progress命令

关于progress命令

https://github.com/Xfennec/progress
1.png

CentOS7下可以直接如下地址下载rpm包

https://cbs.centos.org/kojifiles/packages/progress/0.13/1.el7/x86_64/progress-0.13-1.el7.x86_64.rpm

安装步骤

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
2.png

使用方式举例

例如拷贝大文件时,再开一个终端窗口
cp CentOS-7-x86_64-DVD-2009.iso /home/

progress -M -w 或者watch -n1 progress -w
3.png

4.png

man progresss查看progress命令的用法

5.png

二、方法2:advcpmv

Github项目地址

https://github.com/jarun/advcpmv
6.png

提前下载好github上的advcpmv-0.9-9.1.patch

需要先编译带进度条功能的mv和cp命令

具体步骤如下

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
7.png

接下来编译 如果用root用户下进行编译的话 先执行

export FORCE_UNSAFE_CONFIGURE=1
./configure
make
  
10.png

11.png

编译完成后拷贝生成的cp/mv命令

/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
12.png

显示进度条的具体用法

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
13.png

14.png

15.png






欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5