Linux下如何使cp命令不提示覆蓋檔案

2022-03-20 10:51:00 字數 510 閱讀 4295

在linux下,如果希望將檔案file拷貝到目錄dir下,可以執行:

cp file dir

但如果dir下已經存在乙個名為file的檔案的時候,系統總是會提示是否覆蓋file。

這是乙個很好的功能,它能夠防止我們由於疏忽對系統造成的損害,但如果不希望看到這些互動的提示資訊呢?比如我們需要寫乙個指令碼,將某些檔案安裝到指定的目錄下,這時我們肯定不希望看到提示。

可以試一下 -f 選項,-f 一般表示強制執行(force)。

cp -f file dir

但好像結果並不像我們希望的那樣,系統依然會有覆蓋提示。為什麼呢?

原因很簡單,系統將 cp 命令alias為 cp -i。當我們執行cp命令的時候,系統往往執行的是cp -i,-i 選項表示有互動的提示資訊,所以執行 cp -f 的時候,系統實際執行的是 cp -i -f, 所以仍然會有覆蓋提示。

想要執行原始的cp也很簡單,可以在呼叫cp的時候加入絕對路徑,當然還可以直接執行下面的語句:

\cp -f file dir

Linux下如何使CP命令不提示覆蓋

在linux下使用cp命令,經常會提示是否覆蓋,如果是太批量的檔案覆蓋,老是這麼提示,會很煩的。那如何解決這個問題呢?我們先來看一下原因吧!一般我們使用的命令是cp rf sourcefile targetdir或cp r f sourcefile targetdir,r的意思是遞迴複製,也就是複製...

Linux下如何使CP命令不提示覆蓋

在linux下使用cp命令,經常會提示是否覆蓋,如果是太批量的檔案覆蓋,老是這麼提示,會很煩的。那如何解決這個問題呢?我們先來看一下原因吧!一般我們使用的命令是cp rf sourcefile targetdir或cp r f sourcefile targetdir,r的意思是遞迴複製,也就是複製...

centos使用CP命令不提示覆蓋

centos使用cp命令不提示覆蓋,一般我們使用的命令是cp rf sourcefile targetdir或cp r f sourcefile targetdir,r的意思是遞迴複製,也就是複製資料夾及其下所有檔案 f的意思是遇到同名的檔案,不提示,直接覆蓋 但為什麼我們用這兩個引數,系統還是會提...