如何優雅的給 cp 和 mv 命令新增一個高顏值的進度條

大雄45發表於2022-08-05
導讀 文主要介紹如何使用 Github 上的開源專案 advcpmv 來實現   中的 「cp」 和 「mv」  的進度條。

如何優雅的給 cp 和 mv 命令新增一個高顏值的進度條如何優雅的給 cp 和 mv 命令新增一個高顏值的進度條
由於 cp 和 mv  都是屬於 coreutils 工具包下的,因此我們的主要操作就是在編譯 coreutils 的時候加入補丁從而實現進度條功能。

# 注意儘量不要使用 root 使用者操作
$ pwd
/home/tinychen
# 下載coreutils
$ wget 
$ tar -xJf coreutils-8.32.tar.xz
$ cd coreutils-8.32/
# 下載 github 上的補丁
$ wget 
# 打補丁,實現進度條顯示
$ 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 引數就可以顯示進度條了,為了方便起見我們可以在 .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
[========================================================================>

如何優雅的給 cp 和 mv 命令新增一個高顏值的進度條如何優雅的給 cp 和 mv 命令新增一個高顏值的進度條
如何優雅的給 cp 和 mv 命令新增一個高顏值的進度條如何優雅的給 cp 和 mv 命令新增一個高顏值的進度條

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2909130/,如需轉載,請註明出處,否則將追究法律責任。

相關文章