A cmdline “file” contains NUL characters, so “diff
” needs to be used with “--text
” otherwise it will fail anyway.
I chose process ID 12345 deliberately, it is just a placeholder.
$ cp /proc/12345/cmdline $HOME/cmdline $ ll /proc/12345/cmdline ~/cmdline -r--r--r-- 1 root root 0 2018-06-12 09:22:50 /proc/12345/cmdline -r--r--r-- 1 user users 45 2018-06-12 09:48:19 /homes/user/cmdline # /proc/12345/cmdline is a file in the proc filesystem. # is the displayed size a bug or a feature? $ wc --bytes /proc/12345/cmdline ~/cmdline 45 /proc/12345/cmdline 45 /homes/user/cmdline 90 total $ diff --text /proc/12345/cmdline ~/cmdline; echo $? 0 # as we expect $ diff --brief /proc/12345/cmdline ~/cmdline; echo $? Files /proc/12345/cmdline and /homes/user/cmdline differ 1 # why are they now different? $ cmp --silent /proc/12345/cmdline ~/cmdline; echo $? 1 # why are they now different?
“diff --brief --text
” and “cmp --silent
” presumably take the file size into account.
On Cygwin “diff --brief --text
” behaves like “diff --text
“.
I was quite surprised to experience these differences. It took me quite a while to realise, where my surprising processing results came from.
Leave a Reply