cp コマンドで強制上書きする際に気を付けること

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

しばらく気付きませんでした……。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。