cp 不再詢問是否覆蓋的方式

分類: 技術分享 作者: admin

31 7 月 2008

在 Linux 使用 cp 遇到檔案覆蓋時,預設不會詢問並且直接覆蓋。但為了要達到詢問是否覆蓋的功能,大部份的 Linux 在~/.bashrc 都有設定 alias cp='cp -i' (prompt before overwrite)

但是問題來了,cp -i  只能回答 y 或 n,並沒有類似 unzip 有 [A]ll, [N]one (全部覆蓋或全部不覆蓋)的選項,所以每個檔案要回答,也造成了不少困擾,即使下了 cp -f ,也因為 alias 的設定自動變成了 cp -i -f 而失效。

如果要強制全部覆蓋有幾種方式:

1. 忽略 alias
cp  ....

2.全部自動回答 yes
cp ..... --reply=yes

3.取消 cp 的 alias
unalias cp
cp ....

2 Responses to cp 不再詢問是否覆蓋的方式

Avatar

admin

8 月 21st, 2009 at 5:33 下午

補充一下:
如果要預設不覆蓋,可以用 cp ..... --reply=no

Avatar

三叶草

9 月 29th, 2010 at 5:46 下午

恩,八错...

以前习惯用 yes | cp -R -v *

我要留言

關於這裡

這個部落格分享了哇寶在電子商務領域的技術及資訊,希望能讓更多人一起為台灣的網路產業加油。