推薦:天天學一個 Linux 命令(10):passwdgit
Github地址:github
https://github.com/mingongge/...app
cp命令用來複制文件或目錄。spa
cp命令用來將一個或多個文件或者目錄複製到指定的目的文件或目錄。它能夠將單個源文件複製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時複製多個文件,當一次複製多個文件時,目標文件參數必須是一個已經存在的目錄,不然將出現錯誤。3d
因此,cp命令還具有重命名的功能。code
cp [選項] [源文件或目錄] [目標文件或目錄] cp [option] source destination cp [option] source directory
注:cp命令默認狀況下是不能直接複製目錄,須要與-R選項配合使用。blog
-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來進行確認操做。rem
$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來確認操做、傳遞了目錄屬性、沒有略過目錄。
若是源是一個文件,目標也是一個文件,則會覆蓋這個目標文件 若是源是一個文件,目標文件不存在,則建立新文件 若是源是一個文件,目標是一個目錄,則直接複製此文件到目標目錄下 若是源是多個文件,目標是一個文件,複製失敗 若是源是多個文件,目標是目錄,則直接複製全部文件到目標目錄下 若是源是多個文件,目標目錄不存在,複製失敗 若是源是一個目錄,目標是一個文件且存在,複製失敗 若是源是一個目錄,目標是目錄不存在,則會建立新目錄 若是源是一個目錄,目標是目錄且存在,則會複製源目錄至目標目錄中,成爲子目錄,且保持原名
天天學一個 Linux 命令(9):useradd/userdel