cp命令使用說明


1、命令概述

cp命令可以理解為英文單詞copy的縮寫,其功能為復制文件或目錄(可重命名)。

2、命令語法

cp【選項】 【文件名或目錄】【文件或目錄】

3、命令選項

-f 強行復制文件或目錄, 不論目的文件或目錄是否已經存在,若目標文件已存在,則會直接覆蓋原文件。

-i 若目標文件已存在,則會詢問是否覆蓋

-p 保留源文件或目錄的屬性,包括所有者、所屬組、權限與時間

-r 遞歸處理,將指定目錄下的文件與子目錄一並處理。若源文件或目錄的形態,不屬於目錄或符號鏈接,則一律視為普通文件處理

-d 當復制符號連接時,把目標文件或目錄也建立為符號連接,並指向與源文件或目錄連接的原始文件或目錄

-l 對源文件建立硬鏈接,而非復制文件

-s 對源文件建立符號鏈接,而非復制文件

-b 刪除、覆蓋目的文件先備份,備份的文件或目錄亦建立為符號鏈接,並指向源文件或目錄鏈接的源文件或目錄。假如沒有加上這個參數,在復制過程中若遇到符號鏈接,則會直接復制源文件或目錄

-v 顯示執行過程

-a 此選項通常在復制目錄時使用,它保留鏈接、文件屬性,並復制目錄下的所有內容。其作用等於dpR參數組合

-P 保留源文件或目錄的路徑,此路徑可以是絕對路徑或相對路徑,且目的目錄必須已經存在

-R 遞歸處理,將指定目錄下的文件及子目錄一並處理

-u 使用這項參數之后,只會在源文件的修改時間(Modification Time)較目的文件更新時,或是名稱相互對應的目的文件並不存在,才復制文件

-V <備份方式> 或 --version-control=<備份方式> 指定當備份文件時,備份文件名的命名方式,有以下3種:
1.numbered或t, 將使用備份編號,會在字尾加上~1~字符串,其數字編號依次遞增
2.simple或never 將使用簡單備份,默認的備份字尾字符串是~, 也可通過-S來指定
3.existing或nil將使用當前方式,程序會先檢查是否存在着備份編號,若有則采用備份編號,若無則采用簡單備份

-x 復制的文件或目錄存放的文件系統,必須與cp指令執行時所處的文件系統相同,否則不復制,亦不處理位於其他分區的文件

4、命令示例

4.1復制文件a.txt到work目錄

1 [root@localhost ~]# cp a.txt /work/

4.2復制文件a.txt到work目錄,並重命名為b.txt

1 [root@localhost ~]# cp a.txt /work/b.txt

4.3復制文件a.txt和b.txt到work目錄

1 [root@localhost ~]# cp a.txt b.txt /work/

4.4 -i 若目標文件已存在,則會詢問是否覆蓋

1 [root@localhost ~]# cp -i a.txt /work/
2 cp: overwrite '/work/a.txt'? 

4.5 -r  遞歸處理,將指定目錄下的文件與子目錄一並處理。

1 [root@localhost ~]# cp -r job/ /work/

 4.6 把/tmp目錄里面的 a.txt 復制一個 a.txt.bak,以下三種方法皆可:

1 [root@localhost ~]# cp /tmp/a.txt /tmp/a.txt.bak     #復制的時候可隨意直接修改文件名 2 [root@localhost ~]# cp /tmp/{a.txt,a.txt.bak}        #復制的時候可隨意直接修改文件名 3 [root@localhost ~]# cp /tmp/a.txt{,.bak}             #復制的時候不能隨意修改文件名,只能在原有的文件名后面加后綴

4.7復制文件或者目錄有以下注意事項:

cp命令:
單源文件復制:
  如果目標文件不存在,則事先創建此文件,並復制源文件的內容至目標文件中
  如果目標文件存在,並且是非目錄文件,則覆蓋目標文件
  如果目標文件存在,並且是目錄文件,則先在目標目錄下創建一個與源文件同名的文件,並復制源文件內容至目標文件

多源文件復制:
  如果目標不存在,報錯
  如果目標文件存在,並且是非目錄,報錯
  如果目標文件存在,並且是目錄,分別復制每個文件至目標目錄中,並保持原名

復制目錄:
  如果目標不存在,則先創建目錄,並按照文件復制的方式,將目錄內的文件復制到目標目錄中
  如果目標存在,並且是文件,報錯
  如果目錄存在,並且是目錄,將整個目錄都復制到目標目錄中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM