cp するときに上書きされるファイルがあったらバックアップを取る。

今朝同僚に話したら意外とみんな知らなかったので。

cp コマンドの -b オプションを使うと上書きするファイルがあったとき自動でバックアップを取ってくれる。

$ touch aaa
$ touch bbb
$ cp -b ./aaa ./bbb
$ ls
aaa  bbb  bbb~  

そのままだとバックアップファイルは ~ がつくが、--suffix オプションで指定できる。

$ cp -b --suffix=.`date +%Y%m%d` ./aaa ./bbb
$ ls
aaa  bbb  bbb.20140325  bbb~  

bashrc に alias を書いておくと便利。

alias cp='cp -ivb --suffix=.`date +%Y%m%d%H%M%S`'  

おわり。