CentOS 系で cp コマンドで強制上書きをする際のメモです。
経緯
タイムゾーンを変更するために次のようなコマンドを実行しました。
# cp -pf /usr/share/zoneinfo/Japan /etc/localtime
cp: overwrite `/etc/localtime'?
すると、 -f
オプションで強制上書きするはずなのに上書きするかを聞かれてしまいました。
原因
これは cp
コマンドが cp -i
のエイリアスとなっているため。
つまり、デフォルトでインタラクティブ(対話式)になっているようです。そのため、仮に -f
を付けても -i
の方が優先され、上書きするか確認してくる、というわけです。
対処
cp
コマンドの頭に \
を付けるとエイリアスが無効になるため、 -i
が外れます。
# \cp -pf /usr/share/zoneinfo/Japan /etc/localtime
しばらく気付きませんでした……。