我們平時在 Linux 中使用 cp 命令時,當把文件從一個目錄復制到另一個目錄,且目錄中具有同名文件時,系統會提示輸入 y 來確認是否覆蓋同名文件。
如果文件少的謹搏飢話,也無關緊要,但文件多的話,要一個一個確認簡直太累了。更要命的是,即使我們加了 -rf 參數,還是會提示。
為什麼會這樣呢?
原因就是 cp 命令被系統設置了 別名 。
我們可以查看祥返一下:
也就是說,我們平時使用的 cp 命令,實際上是 cp -i 。
那 -i 參數是什麼意思呢?
就是在覆蓋之前銀昌會給一個提示,這應該算是系統的一個保險措施。
那如果希望進行強制復制,不想一個一個輸入 y ,有什麼辦法呢?
使用原生命令:
取消別名:
這樣再使用 cp -rf 的時候就不會提示確認了。
但需要注意的是,使用完之後記得把別名恢復。
這里更推薦大家使用辦法一,因為命令簡單,而且還不會造成忘記恢復別名而帶來的風險。
以上就是本文的全部內容,如果覺得還不錯的話,歡迎 點贊 , 轉發 和 關注 ,感謝支持。
推薦閱讀:
B. linux下移動或者復制文件覆蓋相同文件夾時,文件夾裡面的每個文件都提示是否覆蓋
1、這么就用不會提示了:# cp -rf x0dx0a2、 原因:x0dx0a# vi ~/.bashrcx0dx0a 如果你看到如下內容,以下命令都會用別名執行了,就是說自動加了 -i 參數:x0dx0ax0dx0aalias rm='rm -i'x0dx0aalias cp='cp -i'x0dx0aalias mv='mv -i'x0dx0a 為了讓復制和移動大量文件去覆蓋目標時,不會產生一個個的提示,命令應該這樣寫x0dx0a# cp -rf /data/xxx* /home/xxx x0dx0a注意 cp 命令前加了 ,意思是不讓它用~/.bashrc里的別名運行,即 -i 參數x0dx0a3、補充cp該命令的各選項含義如下x0dx0a- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並裂冊遞歸地拷貝目錄,其作用等於dpR選項的組合。x0dx0a- d 拷貝時保留鏈接。x0dx0a- f 刪除已經存在的目標文件而不提示。x0dx0a- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是互動式拷貝肆搏宏。x0dx0a- p 此時cp除復制源文件的內容外,還將把其修改時間和訪問許可權也復制到新文件中。x0dx0a- r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。x0dx0a- l 不作拷貝,只是鏈接文件。x0dx0a4、需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名是一個已存在的文件名,用cp命令拷貝文件後,這個文件就會被新拷貝的源文件覆蓋,銀察因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
C. 在Linux中,要將指定源文件復制到目標文件,但不覆蓋原有文件時,需使用( )命令。
【答案】:C
本題考查Linux文件系統的基本知識。在Linux系統中,文件復制命令cp。cp命令的功能是把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。如同 DOS下的 命令一樣。cp命令的一般格式是:
Cp [-選項] source fileName | directory dest fileName | directory
重要選項參數說明如下。
? -a: 整個目錄拷貝。它保留鏈接、文件屬性,並遞歸地拷貝子目錄。
? -f: 刪除己經存在的目標文件而不提示。
? -i: 和 f 選項相反巧改,在覆蓋目標文件之前將給出提示要求用戶確認。回答 y 時目 標文件將被覆蓋,是互動式滾寬哪拷貝。
? -p: 除復制源文件的內容外,還把其修改時間以及訪問許可權也復制到新文件中。
? -R:若給出的源文件是一目錄文件,將遞歸復制該目錄下所有的子目錄和文件 。
此時目大碼標文件必須為一個目錄名。
? -l: 不作拷貝,只是鏈接文件。