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

Ilj*_*aas 4 linux comparison progress

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

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

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

例如使用“dd”命令执行

kill -USR1 [pid_of_dd]
Run Code Online (Sandbox Code Playgroud)

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

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

Ale*_*lex 11

您可以为此使用 PipeViewer

pv firstfile | cmp -l secondfile > output
Run Code Online (Sandbox Code Playgroud)


eph*_*ent 8

$ cmp -l 第一个文件第二个文件 &
[1] pid_of_cmp 
$ ls -l /proc/ pid_of_cmp /fd/
lrwx------ 1用户 64 datetime 0 -> /dev/console
lrwx------ 1用户 64 datetime 1 -> /dev/console
lrwx------ 1用户 64日期时间2 -> /dev/console
lr-x------ 1用户 64日期时间3 -> /path/to/firstfile
lr-x------ 1用户 64日期时间4 -> /path/to/secondfile
$ cat /proc/ pid_of_cmp /fdinfo/0
邮编:25952256
标志:0100000
$ cat /proc/ pid_of_cmp /fdinfo/1
邮编:122650624
标志:0100000

比较pos文件的大小。