Linuxのcpコマンドを-fオプション付で実行しても「〜を上書きしてもよろしいですか(yes/no)」と出てしまう場合の対処方法
Linuxのcpコマンドであるファイルを別のディレクトリのファイルに上書きコピーする際に、何もオプションをつけなければ、
〜を上書きしてもよろしいですか(yes/no)?
といったメッセージで、いちいち上書きの是非を確認するメッセージが表示されてしまう。
このメッセージが表示された場合、ファイルの上書きを認める場合には、「yes」と入力して[Enter]キーを押下し、ファイルの上書きを認めない場合には、「no」と入力して[Enter]キーを押下する必要がある。
上書き対象のファイルが複数ある場合は、ファイル数と同じ数だけメッセージが順次表示されるので、もし、100ファイルをコピーする場合は、「yes」と入力して[Enter]キーを押下する、という行為を100回も繰り返さなくてはならない。
この「〜を上書きしてもよろしいですか(yes/no)?」というメッセージを表示させることなく、強制コピーを行いたい場合は、通常、「cp -f」と-fオプション付で実行すれば良い。
しかし、サーバによっては、「cp -f」と-fオプション付で実行しても、「〜を上書きしてもよろしいですか(yes/no)」と出てしまう場合がある。
その場合は、数が少なければ、
[root@nobuneko test2]# cp -f * /home/nobuneko/test/
cp: `/home/nobuneko/test/test1.js' を上書きしてもよろしいですか(yes/no)? yes
cp: `/home/nobuneko/test/test1.css' を上書きしてもよろしいですか(yes/no)? yes
cp: `/home/nobuneko/test/test2.js' を上書きしてもよろしいですか(yes/no)? yes
cp: `/home/nobuneko/test/test3.js' を上書きしてもよろしいですか(yes/no)? yes
といったように、「yes」と入力して[Enter]キーを押下する、という行為を繰り返しても良いかもしれない。
しかし、数が多いと、こんなことはやってられない。
Linuxのcpコマンドを-fオプション付で実行しても「〜を上書きしてもよろしいですか(yes/no)」というメッセージが出てしまう場合は、cpコマンドの直前に\を打てば、メッセージが表示されなくなる。この方法であれば、対処方法は簡単であり、すぐにできる。
※「\」は、Windowsの場合はエスケープシーケンス(「¥マーク」の半角)、Linuxの場合は、バックスラッシュ。
《例》
[root@nobuneko test2]# \cp -f * /home/nobuneko/test/