cp命令用來將一個或多個源文件或者目錄複製到指定的目的文件或目錄。它能夠將單個源文件複製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時複製多個文件,當一次複製多個文件時,目標文件參數必須是一個已經存在的目錄,不然將出現錯誤。linux
cp(選項)(參數)
-a:此參數的效果和同時指定"-dpR"參數相同; -d:當複製符號鏈接時,把目標文件或目錄也創建爲符號鏈接,並指向與源文件或目錄鏈接的原始文件或目錄; -f:強行復制文件或目錄,不論目標文件或目錄是否已存在; -i:覆蓋既有文件以前先詢問用戶; -l:對源文件創建硬鏈接,而非複製文件; -p:保留源文件或目錄的屬性; -R/r:遞歸處理,將指定目錄下的全部文件與子目錄一併處理; -s:對源文件創建符號鏈接,而非複製文件; -u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才複製文件; -S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴; -b:覆蓋已存在的文件目標前將目標文件備份; -v:詳細顯示命令執行的操做。
-R
選項;若是把一個文件複製到一個目標文件中,而目標文件已經存在,那麼,該目標文件的內容將被破壞。此命令中全部參數既能夠是絕對路徑名,也能夠是相對路徑名。一般會用到點.
或點點..
的形式。例如,下面的命令將指定文件複製到當前目錄下:spa
cp ../mary/homework/assign .
全部目標文件指定的目錄必須是己經存在的,cp命令不能建立目錄。若是沒有文件複製的權限,則系統會顯示出錯信息。.net
將文件file複製到目錄/usr/men/tmp
下,並更名爲file1code
cp file /usr/men/tmp/file1
將目錄/usr/men
下的全部文件及其子目錄複製到目錄/usr/zh
中blog
cp -r /usr/men /usr/zh
交互式地將目錄/usr/men
中的以m打頭的全部.c文件複製到目錄/usr/zh
中遞歸
cp -i /usr/men m*.c /usr/zh
咱們在Linux下使用cp命令複製文件時候,有時候會須要覆蓋一些同名文件,覆蓋文件的時候都會有提示:須要不停的按Y來肯定執行覆蓋。文件數量很少還好,可是要是幾百個估計按Y都要吐血了,因而折騰來半天總結了一個方法:get
cp aaa/* /bbb
複製目錄aaa下全部到/bbb目錄下,這時若是/bbb目錄下有和aaa同名的文件,須要按Y來確認而且會略過aaa目錄下的子目錄。
cp -r aaa/* /bbb
此次依然須要按Y來確認操做,可是沒有忽略子目錄。
cp -r -a aaa/* /bbb
依然須要按Y來確認操做,而且把aaa目錄以及子目錄和文件屬性也傳遞到了/bbb。
\cp -r -a aaa/* /bbb
成功,沒有提示按Y、傳遞了目錄屬性、沒有略過目錄。