给 cp 和 mv 命令添加进度条

温馨提醒

给 cp 和 mv 命令添加进度条

由于 cp 和 mv 命令都是属于 coreutils 工具包下的,因此我们的主要操作就是在编译 coreutils 的时候加入补丁从而实现进度条功能。

  • 下载补丁

    1
    
    wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.9-9.4.patch
  • 下载 coreutils,打补丁并安装

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    
    wget http://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz
    tar -xJf coreutils-9.4.tar.xz
    cd coreutils-9.4/
    patch -p1 -i ../advcpmv-0.9-9.4.patch
    export FORCE_UNSAFE_CONFIGURE=1
    ./configure
    make
    cp src/cp /usr/local/bin/
    cp src/mv /usr/local/bin/
    
    mv /usr/bin/cp /usr/bin/cp-old
    mv /usr/bin/mv /usr/bin/mv-old
    ln -sv /usr/local/bin/cp /usr/bin/
    ln -sv /usr/local/bin/mv /usr/bin/
  • 使用

    1
    2
    3
    4
    5
    
    只需要在使用 cp 和 mv 命令时加上 -g 参数就可以显示进度条,为方便使用,可以在 .bashrc 文件中设置 alias
    vim .bashrc
    
    alias cp='cp -ig'
    alias mv='mv -ig'