------------------------------------------------------------------------ cp copy files ------------------------------------------------------------------------ Copy is a venerable tool. Does it need a writeup? GNU "gcp" has new features which are useful. Get surprised. Switch to gcp! $ gcp -b -i -n -r -u -v file1 file2 -b if file2 exists then create a backup ("file2~") -S STRING, if file2 exists then create backup "file2STRING" -u do not copy if file2 is the same as file1 -v verbose (useful diagnostic when you turn on "u" flag) -i interactive (ask question before proceeding) -n no clobber (will not over-write existing file2) -r recursively copy directory structure to destination Note: gcp can also create hard and soft links (replacing "ln") The most useful options are "-b", "-S" and "-u". I also quite like the "-v" feature. $ gcp -v a b 'b' -> 'a' $ gcp -v a b #no action since b is the same as a $ gcp -b -v a c 'a' -> 'c' (backup: 'c~') $gcp -S .bak -v a c 'a' -> 'c' (backup: 'c.bak') Note: the verbose output has a weird character which is similar to ' and which does not print properly. I changed it to this character to '.