cp 複製檔案(或者目錄等). 可以使用這個命令複製乙個檔案到乙個指定的目的地, 或者複製任意多個檔案到乙個目的目錄目錄.
如果最後乙個命令引數為乙個已經存在的目錄名,cp會將每乙個原始檔複製到那個目錄下(維持原檔名).如果所給的引數只有兩個檔名.它把前乙個檔案複製到後乙個檔案上.如果最後乙個引數不是檔名,目錄名,和給出多於兩個非選項引數,是 錯誤的.(因而:如果/b已經存在,那麼』cp -r /a /b』會複製/a到/b而成為/b/a. 而複製/a/x到/b而成為/b/a/x.但如果/b事先不存在,它會把/a複製為/b而複製/a/x到/b而成為/b/a/x.但如果/b事先不存在,它會把/a複製為/b 而把/a/x複製為/b/x.)
所建立的檔案和/或目錄的模式和原始的檔案的模式是一樣的, 然後用使用者umask值修改(除非使用了-p選項),(但在遞迴方式複製目錄時,新建目錄會臨時地獲得他們的最終模式ored,連同 s_irwxu(0700),以便程序能夠讀、寫、查詢這些新建的目錄.
複製檔案到其自身時它什麼事情都不做(除了可能會生成一條錯誤資訊以外). 當複製到乙個現存的不同檔案時,系統呼叫函式open(path,o_wronly|o_trunc)'開啟目的檔案.當複製到乙個新檔案時,系統呼叫函式`open(path,o_wronly|o_creat,mode)'建立該檔案.如果這操作失敗,該檔案存在,和給出了-f選項, cp試圖先刪除該現存盤案,如果刪除成功則把它當做乙個新檔案處理.
以上描述內容摘錄自man文件
複製命令:cp
cp [option]... [-t] source dest
cp [option]... source... directory
cp [option]... -t directory source...
cp src dest
src是檔案:
如果目標不存在:新建dest,並將src中內容填充至dest中;
如果目錄存在:
如果dest是檔案:將src中的內容覆蓋至dest中;
此時建議為cp命令使用-i選項;
如果dest是目錄:在dest下新建與原檔案同名的檔案,並將src中內容填充至新檔案中;
cp src... dest
src...:多個檔案
dest必須存在,且為目錄,其它情形均會出錯;
cp src dest
src是目錄:
此時使用選項:-r
如果dest不存在:則建立指定目錄,複製src目錄中所有檔案至dest中;
如果dest存在:
如果dest是檔案:報錯
如果dest是目錄:
options:
-i:互動式
-r, -r: 遞迴複製目錄及內部的所有內容;
-a: 歸檔,相當於-dr --preserv=all
-d:--no-dereference --preserv=links
--preserv[=attr_list]
mode: 許可權
ownership: 屬主屬組
timestamp:
links
xattr
context
all-p: --preserv=mode,ownership,timestamp
-v: --verbose
-f: --force
Linux常用命令 CP
cp 複製檔案或目錄 範例一 用root身份,將主資料夾下的 bashrc 複製到 tmp 下,並更名為 bashrc 重複作兩次動作,由於 tmp 下面已經存在 bashrc 了,加上 i 選項後,則在覆蓋前會詢問使用者是否確定!可以按下 n 或者 y 來二次確認呢!範例二 變換目錄到 tmp,並...
Linux常用命令 七 cp
cp命令用來複製檔案或者目錄,是linux系統中最常用的命令之一。一般情況下,shell會設定乙個別名,在命令列下複製檔案時,如果目標檔案已經存在,就會詢問是否覆蓋,不管你是否使用 i引數。但是如果是在shell指令碼中執行cp時,沒有 i引數是不會詢問是否覆蓋。這說明命令列和shell指令碼的執行...
linux常用命令 7 cp命令
cp命令用來複製檔案或者目錄,是linux系統中最常用的命令之一。一般情況下,shell會設定乙個別名,在命令列下複製檔案時,如果目標檔案已經存在,就會詢問是否覆蓋,不管你是否使用 i引數。但是如果是在shell指令碼中執行cp時,沒有 i引數時不會詢問是否覆蓋。這說明命令列和shell指令碼的執行...