1、查看当前最新的coreutils版本:
http://ftp.gnu.org/gnu/coreutils/
2、安装coreutils过程
# wget http://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz
# tar -xJf coreutils-9.4.tar.xz
# cd coreutils-9.4/
对照上面的,下载对应coreutils版本的advcpmv版本。
https://github.com/jarun/advcpmv
# wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.9-9.4.patch
# patch -p1 -i advcpmv-0.9-9.4.patch
# ./configure FORCE_UNSAFE_CONFIGURE=1
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating gnulib-tests/Makefile
config.status: creating lib/config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
# make
make[4]: Leaving directory '/root/coreutils-9.4/gnulib-tests'
make[3]: Leaving directory '/root/coreutils-9.4/gnulib-tests'
make[2]: Leaving directory '/root/coreutils-9.4/gnulib-tests'
make[1]: Leaving directory '/root/coreutils-9.4'
注:直接编译会出错,需要增加FORCE_UNSAFE_CONFIGURE=1 参数配置。
checking whether mknod can create fifo without root privileges... configure: error: in '/root/coreutils-9.4':
configure: error: you should not run configure as root (set FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See 'config.log' for more details
替代当前系统命令,有必要可以先备份一下原来的,替换测试后,再将原有版本删除。
$ sudo cp src/cp /usr/local/bin/cp
$ sudo cp src/mv /usr/local/bin/mv
接着我们只需要在使用cp和mv命令的时候加上-g参数就可以显示进度条了。
为了方便起见我们可以在.bashrc文件中设置alias
alias cp='cp -ig'
alias mv='mv -ig'
至此,完成。