Fellows, I don't think (info "(coreutils) cp invocation") mentions how $ touch m $ cp m n $ chmod 444 m $ cp m n #THESE LINES $ cp m p #MAKE DIFFERENT THINGS $ ls -l -r--r--r-- 1 jidanni jidanni 0 07-28 11:20 m -rw-r--r-- 1 jidanni jidanni 0 07-28 11:21 n -r--r--r-- 1 jidanni jidanni 0 07-28 11:21 p All we read is
In the absence of this option, each destination file is created with the mode bits of the corresponding source file, minus the bits set in the umask and minus the set-user-ID and set-group-ID bits. *Note File permissions::. So it says 'created', but doesn't mention what happens if the destination already exists. Yes I am deliberately not using -p here. (This would also explain the mystery of how openssh-client: /usr/bin/scp works.) $ cp --version cp (GNU coreutils) 8.21