cpでディレクトリを丸ごとコピーしたいときは、
$ cp -rf hoge1 hoge2/
ってやれば、hoge2ディレクトリの配下にhoge1ディレクトリが再帰的かつ確認メッセージなしでコピーされる。
・・・のはずだけど、rootでこれを実行すると、大抵上書き確認メッセージが表示される。
-f指定してるのになんでやねん!って思って、
ちょっと調べたらどうやらエイリアス指定が関係している模様。
# alias cp alias cp='cp -i'
って表示されたら、エイリアスでご丁寧に-iオプションを有効化してくれてますので、-fが無効化されます。
さすがroot様はセキュリティが厳重だぜ!
ウザいけどな!
で、解決策は、
1. 現在のログイン中に限り、cpのエイリアスを解除する $ unalias cp これで、ログイン中のcpのエイリアスが解除されます(再ログインしたら、元に戻る) 何回も実行するときはこっちが便利。 2. 実行時にエイリアスを無効にする $ cp -f ... という具合にをつけると、コマンド実行時のみ無効になります。 限定的に使用する場合はこっちがいいね。 3. 永遠に無効化 $ vi ~/.bashrc でエイリアスの記述をコメントアウトしましょう。 こうすりゃ、再ログインしても、無効化されたまま。 ただし、現在のログインに反映するには、unalias実行しないとダメです。
かしこさが上がった気がします・・・。
参考記事