如何優(yōu)雅的給 cp 和 mv 命令添加一個高顏值的進度條
作者:TinyChen
文主要介紹如何使用 Github 上的開源項目 advcpmv 來實現(xiàn) Linux 中的 「cp」 和 「mv」 命令的進度條。
由于 ??cp?
? 和 ??mv?
? 命令都是屬于 ??coreutils?
? 工具包下的,因此我們的主要操作就是在編譯 ??coreutils?
? 的時候加入補丁從而實現(xiàn)進度條功能。
# 注意盡量不要使用 root 用戶操作
$ pwd
/home/tinychen
# 下載coreutils
$ wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
$ tar -xJf coreutils-8.32.tar.xz
$ cd coreutils-8.32/
# 下載 github 上的補丁
$ wget https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch
# 打補丁,實現(xiàn)進度條顯示
$ patch -p1 -i advcpmv-0.8-8.32.patch
patching file src/copy.c
patching file src/copy.h
patching file src/cp.c
patching file src/mv.c
# 編譯安裝
$ ./configure
$ make
# 將打補丁生成的cp和mv命令的二進制文件復制到bin目錄下
$ sudo cp src/cp /usr/local/bin/cp
$ sudo cp src/mv /usr/local/bin/mv
接著我們只需要在使用 ??cp?
? 和 ??mv?
? 命令的時候加上 ??-g?
? 參數(shù)就可以顯示進度條了,為了方便起見我們可以在 ??.bashrc?
? 文件中設置 ??alias?
?
$ alias cp='cp -ig'
$ alias mv='mv -ig'
試一下實際效果,復制一個大文件夾的時候可以顯示總進度和當前文件復制進度,以及在復制完成之后還可以顯示復制的過程中的平均速度。
$ cp -r /samba/Elements02/kvm/* /kvm/
0 files copied so far... 1.6 GiB / 67.2 GiB
[===> ] 2.4 %
Copying at 178.4 MiB/s (about 0h 6m 45s remaining)
/samba/Elements02/kvm/iso/CentOS-6.10-x86_64-bin-DVD1.iso 1.6 GiB / 3.7 GiB
[========================================================================> ] 43.4 %
責任編輯:龐桂玉
來源:
奇妙的Linux世界