但是 rsync 的問題是,不如 cp 的直覺/簡單,而且權限那些東西,只要下 -a 就解決了,不是?
所以如果聚焦在進度這件事情上面的話,其實可以使用 strace 來處理,很簡單就有下面這樣的效果:
做法是在 $HOME/.bashrc 底下加入一個 function:
cp_p() {
strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \
| awk '{
count += $NF
if (count % 10 == 0) {
percent = count / total_size * 100
printf "\b\b\b\b\b%03d %%", percent
}
}
END { print "\nDone\n" }' total_size=$(stat -c '%s' "${1}") count=0
}
需要使用時就用 cp_p 就可以
沒有留言:
張貼留言