4

Есть ли способ показать прогресс при запуске команды cmp?

Сравнение больших файлов или разделов с помощью cmp может занять некоторое время.

Я искал в Google и использовал man cmp, но не смог найти никакой полезной информации.

С помощью команды 'dd', например, выполнить

kill -USR1 [pid_of_dd]

заставляет dd выводить свой статус в консоли.

Есть ли способ заставить cmp сделать что-то подобное?

2 ответа2

11

Вы можете использовать PipeViewer для этого

pv firstfile | cmp -l secondfile > output
7
$ cmp -l firstfile secondfile &
[1] pid_of_cmp
$ ls -l /proc/pid_of_cmp/fd/
lrwx------ 1 user group 64 datetime 0 -> /dev/console
lrwx------ 1 user group 64 datetime 1 -> /dev/console
lrwx------ 1 user group 64 datetime 2 -> /dev/console
lr-x------ 1 user group 64 datetime 3 -> /path/to/firstfile
lr-x------ 1 user group 64 datetime 4 -> /path/to/secondfile
$ cat /proc/pid_of_cmp/fdinfo/0
pos:    25952256
flags:  0100000
$ cat /proc/pid_of_cmp/fdinfo/1
pos:    122650624
flags:  0100000

Сравните pos с размером файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .