題 如何顯示linux“cmp”命令進度?


有沒有辦法在運行cmp命令時顯示進度?

使用cmp比較大文件或分區可能需要一段時間。

我搜索過google並使用了man cmp,但沒有找到任何有用的信息。

使用'dd'命令執行示例

kill -USR1 [pid_of_dd]

使dd在控制台中輸出其狀態。

有沒有辦法讓cmp做類似的事情?


4
2017-11-23 11:21


起源




答案:


您可以使用PipeViewer

pv firstfile | cmp -l secondfile > output

11
2017-11-23 12:39



謝謝!你的答案對其他命令行的東西也非常有用。 - Iljaas


$ cmp -l firstfile secondfile&
[1] pid_of_cmp
$ ls -l / proc /pid_of_cmp/ FD /
lrwx ------ 1 用戶   64 約會時間 0  - > / dev / console
lrwx ------ 1 用戶   64 約會時間 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
pos:25952256
標誌:0100000
$ cat / proc /pid_of_cmp/ fdinfo / 1
pos:122650624
標誌:0100000

相比 pos 到文件的大小。


7
2017-11-23 16:35



在某些情況下,此選項非常有用:您沒有pv或bar命令;你無法控制命令(例如GUI程序啟動它);或者命令不支持管道。 - golimar