cp和mv加进度条
cp和mv加进度条
为cp和mv加上进度条补丁,传输大文件时,可以清晰看到进度了
cp和mv是包含在linux核心文件的,所以需要从github下载相关源码
直接使用官方脚本安装
useradd www
#访问github慢时,可以加代理
#su www -c 'curl -v https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)'
su www -c 'https_proxy=http://192.168.0.200:1080 curl -v https://raw.githubusercontent.com/jarun/advcpmv/master/install.sh --create-dirs -o ./advcpmv/install.sh && (cd advcpmv && sh install.sh)'
mv ./advcpmv/advcp /usr/local/bin/
mv ./advcpmv/advmv /usr/local/bin/
echo alias cp '/usr/local/bin/advcp -ig' >> ~/.bashrc
echo alias mv '/usr/local/bin/advmv -ig' >> ~/.bashrc
自己写的脚本
#!/bin/bash
set -ex
#all_proxy=http://10.10.107.71:1080 #如果github访问不了,可以配置代理,或者手动下载源码
file='coreutils-8.32.tar.xz'
file_dir=`echo $file|sed -nr "s#(.*)\.tar.*#\1#p"`
patch='advcpmv-0.8-8.32.patch'
user=$(id `awk -F':' '{print $3}' /etc/passwd|sort -h|egrep '[0-9]{4}'|head -n1`|awk -F'\\(|)' '{print $2}')
install(){
yum install -y libacl-devel libcap-devel libgmp-devel > /dev/null
[ ! -f $file ] && wget http://ftp.gnu.org/gnu/coreutils/$file
[ ! -f $patch ] && wget http://raw.githubusercontent.com/jarun/advcpmv/master/$patch
[ ! -d $file_dir ] && tar -xJf $file
cp $patch $file_dir
cd $file_dir
[ -f Makefile ] && make clean all || patch -p1 -i $patch
chown -R $user.$user .
su $user -c './configure > /dev/null'
su $user -c 'make -j4 > /dev/null'
cp src/{cp,mv} /usr/local/bin/
echo 'alias cp="cp -ig"' > /etc/profile.d/new_cp_mv.sh
echo 'alias mv="mv -ig"' >> /etc/profile.d/new_cp_mv.sh
. /etc/profile > /dev/null
cd ..
rm -rf ${file_dir}* $patch
}
install

浙公网安备 33010602011771号