每天學一個 Linux 命令(11):cp

推薦:每天學一個 Linux 命令(10):passwd

Github地址:

https://github.com/mingongge/Learn-a-Linux-command-every-day

命令簡介

cp命令用來複制文件或目錄。

cp命令用來將一個或多個文件或者目錄複製到指定的目的文件或目錄。它可以將單個源文件複製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時複製多個文件,當一次複製多個文件時,目標文件參數必須是一個已經存在的目錄,否則將出現錯誤。

所以,cp命令還具備重命名的功能。

語法格式

cp [選項] [源文件或目錄] [目標文件或目錄]
cp [option] source destination
cp [option] source directory


注:cp命令默認情況下是不能直接複製目錄,需要與-R選項配合使用。

選項說明

-a:#此參數的效果和同時指定"-dpR"參數相同;
-d:#當複製符號連接時,把目標文件或目錄也建立爲符號連接,並指向與源文件或目錄連接的原始文件或目錄;
-f:#強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:#覆蓋既有文件之前先詢問用戶;
-l:#對源文件建立硬連接,而非複製文件;
-p:#保留源文件或目錄的屬性;
-R/r:#遞歸處理,將指定目錄下的所有文件與子目錄一併處理;
-s:#對源文件建立符號連接,而非複製文件;
-u:#使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才複製文件;
-S:#在備份文件時,用指定的後綴“SUFFIX”代替文件的默認後綴;
-b:#覆蓋已存在的文件目標前將目標文件備份;
-v:#詳細顯示命令執行的操作。











應用實例

複製文件舉例

cp /usr/app/a.txt /usr/mingongge/b.txt 
#b.txt不存在,創建b.txt文件

cp /usr/app/a.txt /usr/mingongge/b.sh   
#b.sh不存在,創建b.sh文件,類似改名功能

cp /usr/app/a.txt /usr/mingongge/abc   
#abc不存在,創建abc文件







將目錄/usr/app中的以s開頭的所有.x結尾的文件複製到目錄/usr/mingongge中。

$ cp -i /usr/app s*.x /usr/mingongge

cp命令複製文件時,如果在目標目錄下有同名文件時,我們需要通過輸入Y來進行確認操作。

$cp mmm/* /MMM
#複製目錄mmm下所有到/MMM目錄下,這時如果/MMM目錄下有和mmm同名的文件,需要按Y來確認,且會略過mmm目錄下的子目錄。
 
$cp -r mmm/* /MMM
#也需要輸入Y來確認操作,但是沒有忽略子目錄。
 
$cp -r -a mmm/* /MMM
#也需要輸入Y來確認操作,並且把mmm目錄以及子目錄和文件屬性也傳遞到了/MMM。
 
$\cp -r -a mmm/* /MMM
#不會提示需要輸入Y來確認操作、傳遞了目錄屬性、沒有略過目錄。










cp命令複製說明

如果源是一個文件,目標也是一個文件,則會覆蓋這個目標文件
如果源是一個文件,目標文件不存在,則創建新文件
如果源是一個文件,目標是一個目錄,則直接複製此文件到目標目錄下

如果源是多個文件,目標是一個文件,複製失敗
如果源是多個文件,目標是目錄,則直接複製所有文件到目標目錄下
如果源是多個文件,目標目錄不存在,複製失敗

如果源是一個目錄,目標是一個文件且存在,複製失敗
如果源是一個目錄,目標是目錄不存在,則會創建新目錄
如果源是一個目錄,目標是目錄且存在,則會複製源目錄至目標目錄中,成爲子目錄,且保持原名










每天學一個 Linux 命令(9):useradd/userdel

每天學一個 Linux 命令(8):ls

每天學一個 Linux 命令(7):cd


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章