由于 cp 和 mv 命令都是屬于 coreutils 工具包下的,因此我們的主要操作就是在編譯 coreutils 的時(shí)候加入補(bǔ)丁從而實(shí)現(xiàn)進(jìn)度條功能。
#注意盡量不要使用root用戶(hù)操作 $pwd /home/tinychen #下載coreutils $wgethttp://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz $tar-xJfcoreutils-8.32.tar.xz $cdcoreutils-8.32/ #下載github上的補(bǔ)丁 $wgethttps://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch #打補(bǔ)丁,實(shí)現(xiàn)進(jìn)度條顯示 $patch-p1-iadvcpmv-0.8-8.32.patch patchingfilesrc/copy.c patchingfilesrc/copy.h patchingfilesrc/cp.c patchingfilesrc/mv.c #編譯安裝 $./configure $make #將打補(bǔ)丁生成的cp和mv命令的二進(jìn)制文件復(fù)制到bin目錄下 $sudocpsrc/cp/usr/local/bin/cp $sudocpsrc/mv/usr/local/bin/mv
接著我們只需要在使用 cp 和 mv 命令的時(shí)候加上 -g 參數(shù)就可以顯示進(jìn)度條了,為了方便起見(jiàn)我們可以在 .bashrc 文件中設(shè)置 alias
$aliascp='cp-ig' $aliasmv='mv-ig'
試一下實(shí)際效果,復(fù)制一個(gè)大文件夾的時(shí)候可以顯示總進(jìn)度和當(dāng)前文件復(fù)制進(jìn)度,以及在復(fù)制完成之后還可以顯示復(fù)制的過(guò)程中的平均速度。
$cp-r/samba/Elements02/kvm/*/kvm/ 0filescopiedsofar...1.6GiB/67.2GiB [===>]2.4% Copyingat178.4MiB/s(about0h6m45sremaining) /samba/Elements02/kvm/iso/CentOS-6.10-x86_64-bin-DVD1.iso1.6GiB/3.7GiB [========================================================================> ]43.4%
審核編輯:劉清
-
Linux
+關(guān)注
關(guān)注
87文章
11207瀏覽量
208717 -
GitHub
+關(guān)注
關(guān)注
3文章
465瀏覽量
16359
原文標(biāo)題:如何優(yōu)雅的給 cp 和 mv 命令添加一個(gè)高顏值的進(jìn)度條
文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論