linux下cp mv显示进度条

coreutils patch形式支持进度条

A patch for GNU Core Utilities cp, mv to add progress bars

env

  • rockylinux-9.4

1.download

file:

  • advcpmv-0.9-9.5.patch
  • coreutils-9.5.tar.gz

2.patch

cd coreutils-9.5
patch -p1 -i ../advcpmv-0.9-9.5.patch

3.编译

//requirement
dnf install -y gcc gcc-c++ make libacl-devel

//enable root compire
FORCE_UNSAFE_CONFIGURE=1

FORCE_UNSAFE_CONFIGURE=1 ./configure -q
make -s

编译好的成果文件src/xxx(可以看到支持新参数 -g –progress-bar)

[root@vgt-rocky9-60 coreutils-9.5]# ./src/mv --help  |grep 'progress-bar'
  -g, --progress-bar           add progress-bar

./src/cp --help  |grep 'progress-bar'
  -g, --progress-bar           add a progress bar.

4.cp 或 mv 测试显示进度条

./src/cp --progress-bar <file_source> <file_target>

./src/mv --progress-bar <file_source> <file_target>
dd if=/dev/zero of=/tmp/1 bs=1M count=1000

./src/cp -g /tmp/1  /root/
1 folder(s) (  1.0 GiB) copied in  5.6s (179.2 MiB/s).

./src/mv -g /root/2  /opt
1 folder(s) (  1.0 GiB) moved in  0.0s (  0.0 KiB/s).
[root@vgt-rocky9-60 coreutils-9.5]# cp src/cp /usr/local/bin/
[root@vgt-rocky9-60 coreutils-9.5]# cp src/mv  /usr/local/bin/

cp show progress bar.png

Refer