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
posted @ 2023-03-22 11:25  suyanhj  阅读(44)  评论(0)    收藏  举报