如何显示linux“cmp”命令进度?

如何显示linux“cmp”命令进度?

有没有办法在运行 cmp 命令时显示进度?

使用 cmp 比较大文件或分区可能需要一段时间。

我已经在 Google 上搜索并使用了 man cmp,但没有找到任何有用的信息。

例如使用 'dd' 命令执行

kill -USR1 [pid_of_dd]

使 dd 在控制台中输出其状态。

有没有办法让 cmp 做类似的事情?

答案1

您可以使用 PipeViewer 来实现此目的

pv firstfile | cmp -l secondfile > output

答案2

$ cmp -l 第一个文件 第二个文件 &
[1]pid_of_cmp
$ ls -l /proc/pid_of_cmp/fd/
低位求和------ 1用户 团体64约会时间0 -> /dev/console
低位求和------ 1用户 团体64约会时间1 -> /dev/console
低位求和------ 1用户 团体64约会时间2-> /dev/console
左-右------ 1用户 团体64约会时间3 -> /路径/到/第一个文件
左-右------ 1用户 团体64约会时间4 -> /路径/到/secondfile
$ cat /proc/pid_of_cmp/fdinfo/0
位置: 25952256
标志:0100000
$ cat /proc/pid_of_cmp/fdinfo/1
位置:122650624
标志:0100000

pos与文件的大小进行比较。

相关内容