当前位置: 首页 > 科技观察

如何优雅的给cp和mv命令添加一个好看的进度条

时间:2023-03-22 14:04:05 科技观察

由于cp和mv命令都属于coreutils工具包,所以我们主要的操作就是在编译coreutils的时候添加一个patch来实现进度条功能。#注意不要使用root用户操作$pwd/home/tinychen#下载coreutils$wgethttp://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz$tar-xJfcoreutils-8.32。柏油。xz$cdcoreutils-8.32/#在github上下载补丁$wgethttps://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch#应用补丁实现进度条显示$patch-p1-iadvcpmv-0.8-8.32.patchpatchingfilesrc/copy.cpatchingfilesrc/copy.hpatchingfilesrc/cp.cpatchingfilesrc/mv.c#Compileandinstall$./configure$make#会patch生成的cp和mv将命令的二进制文件复制到bin目录下$sudocpsrc/cp/usr/local/bin/cp$sudocpsrc/mv/usr/local/bin/mv然后我们只需要使用cp和在mv命令中添加-g参数以显示进度条。为了方便,我们可以在.bashrc文件中设置alias$aliascp='cp-ig'$aliasmv='mv-ig'试试实际效果。复制大文件夹时,可以显示总进度和当前文件复制进度,复制完成后还可以显示复制过程中的平均速度。$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%