5

Is there a way to show the progress when running the cmp command?

Comparing large files or partitions using cmp can take a while.

I have searched google and used man cmp, but failed to find any useful information.

With the 'dd' command for example executing

kill -USR1 [pid_of_dd]

makes dd output its status in the console.

Is there a way to make cmp do something similar?

Cfinley
  • 1,435
Iljaas
  • 155

2 Answers2

12

You can use PipeViewer for this

pv firstfile | cmp -l secondfile > output
Alex
  • 1,437
9
$ 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

Compare pos to the size of the files.

ephemient
  • 25,622