支持查看进度条: 可视化 cp&mv
-
需求:大文件复制或移动需要查看进度及速率的场景
- 系统自带的cp 和 mv 工具是没有进度条功能的
- 这里我们需要重新安装这两个工具并打补丁
- 系统原有的可以不用动,不影响原有的使用
-
效果
[zyb@ZybDev03 ~]$ ./coreutils-8.32/src/cp -rgi tmsProject/ test
5089 files copied so far... 847.0 MiB / 16.0 GiB
[===========> ] 5.2 %
Copying at -2147483648.0 KiB/s (about 0h 4m 53s remaining)
tmsProject/tms-wl-rt/src/TmsWLInvoiceFactorConfig.java 0.0 B / 860.0 B
[===============================================> ] 50.2 %
- 由于 cp 和 mv 命令都是属于 coreutils 工具包下的,因此我们的主要操作就是在编译 coreutils 的时候加入补丁从而实现进度条功能
- 以下所有操作使用的是普通用户,非root
- 需提前安装 yum -y install gcc-c++ gcc patch
# 下载coreutils--》百度网盘下载
链接:https://pan.baidu.com/s/1OsYpMSTxRXg7KEae25P61A?pwd=kdsi
# 下载coreutils--》在线
wget http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
# 解压coreutils
tar -xJf coreutils-8.32.tar.xz
cd coreutils-8.32/
# 下载advcpmv-0.8-8.32.patch补丁到解压后的coreutils-8.32目录下,提供百度网盘下载
链接:https://pan.baidu.com/s/1xq_EIifH_h80kqC7iI1JDg?pwd=dafh
[zyb@ZybDev03 coreutils-8.32]$ ls
... src advcpmv-0.8-8.32.patch configure
# 打补丁,实现进度条显示
[zyb@ZybDev03 coreutils-8.32]$ 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
# 编译即可
[zyb@ZybDev03 coreutils-8.32]$ ./configure
[zyb@ZybDev03 coreutils-8.32]$ make
# 完成之后就可以在 src 目录下看到 cp mv 等命令了
# 接着我们只需要在使用 cp 和 mv 命令的时候加上 -g 参数就可以显示进度条
# 后续如果想设置成全局,只需要把现有的cp命令配置成全局并设置别名即可,这里不做操作演示
# .bashrc(当前用户目录下) | /etc/bashrc(全局配置) 文件中设置 alias
$ alias cp='cp -ig'
$ alias mv='mv -ig'
如果有帮助,麻烦关注点赞哦