cp linux 显示进度条_cp文件显示进度条

#!/bin/bash

trap 'exit_fun' 2

usage(){

echo "Usage: `basename $0` \"src file\" \"dst file\""

exit 1

}

exit_fun(){

echo -e "\033[?25h"

kill -9 $(ps -ef|awk '/ [c]p /{print $2}') &>/dev/null

exit 1

}

[ "$#" -ne "2" ] && usage

[ -d "$2" ] && k=${2%%/}/`basename $1` || k=$2

fromsize=`ls -s $1|cut -d" " -f1`

cp $1 $k &

start=`date +%s`

sleep 0.2

echo -ne "\033[?25l"

while :;do

tosize=`ls -s $k|cut -d" " -f1`

x=`echo "$tosize $fromsize"|awk '{print int($1*100/$2)}'`

[ $x -eq 99 ] && x=100

echo -n "["

for((i=0;i

echo -n ">"

for((j=i;j<=99;j=$j+2));do echo -n " ";done

now=$[`date +%s` - $start]

[ $now -eq 0 ] && now=1

avg=$[$tosize/$now/1024]

printf "] %4s%% %4sM/s" $i $avg

[ $x -ge 100 ] && break

sleep 0.1

echo -ne "\r"

done

echo -e "\033[?25h"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值