黑帽联盟

 找回密码
 会员注册
查看: 1152|回复: 0

[资源教程] Linux下显示cp/mv进度的两种方式

[复制链接]

906

主题

38

听众

3374

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    慵懒
    昨天 00:19
  • 签到天数: 1695 天

    [LV.Master]伴坛终老

    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

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部