Linux 中 cp 命令(文件複製)

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

語法

cp(選項)(參數)

選項

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

參數

  • 源文件:制定源文件列表。默認狀況下,cp命令不能複製目錄,若是要複製目錄,則必須使用-R選項
  • 目標文件:指定目標文件。當「源文件」爲多個文件時,要求「目標文件」爲指定的目錄。

實例

若是把一個文件複製到一個目標文件中,而目標文件已經存在,那麼,該目標文件的內容將被破壞。此命令中全部參數既能夠是絕對路徑名,也能夠是相對路徑名。一般會用到點.或點點..的形式。例如,下面的命令將指定文件複製到當前目錄下:spa

cp ../mary/homework/assign .

全部目標文件指定的目錄必須是己經存在的,cp命令不能建立目錄。若是沒有文件複製的權限,則系統會顯示出錯信息。.net

將文件file複製到目錄/usr/men/tmp下,並更名爲file1code

cp file /usr/men/tmp/file1

將目錄/usr/men下的全部文件及其子目錄複製到目錄/usr/zhblog

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、傳遞了目錄屬性、沒有略過目錄。
相關文章
相關標籤/搜索