參數:
-a 或 --archive 此參數的效果和同時指定"-dpR"參數相同
-b 或 --backup 删除、覆寫目的檔案先備份,備份的檔案或目錄亦建立為符号連結,并指向源檔案或目錄連結的源檔案或目錄。假如沒有加上這個參數,在複制過程中若遇到符号連結,則會直接複制源檔案或目錄
-f 或 --force 強行複制檔案或目錄, 不論目的檔案或目錄是否已經存在
-i 或 --interactive 覆寫檔案之前先詢問使用者
-l 或 --link 對源檔案建立硬連結,而非複制檔案
-p 或 --preserve 保留源檔案或目錄的屬性,包括所有者、所屬組、權限與時間
-P 或 --parents 保留源檔案或目錄的路徑,此路徑可以是絕對路徑或相對路徑,且目的目錄必須已經豐在
-r 遞歸處理,将指定目錄下的檔案與子目錄一并處理。若源檔案或目錄的形态,不屬于目錄或符号連結,則一律視為普通檔案處理
-R 或 --recursive 遞歸處理,将指定目錄下的檔案及子目錄一并處理
-s 或 --symbolic-link 對源檔案建立符号連結,而非複制檔案
-S 或 --suffix= 用"-b"參數備份目的檔案後,備份檔案的字尾會被加上一個備份字元串。預設的備份字尾符串是符号"~"
-u 或 --update 使用這項參數之後,隻會在源檔案的修改時間(Modification Time)較目的檔案更新時,或是名稱互相對應的目的檔案并不存在,才複制檔案
-v 或 --verbose 顯示執行過程
-V 或 --version-control= 指定當備份檔案時,備份檔案名的命名方式,有以下3種:
1.numbered或t, 将使用備份編号,會在字尾加上~1~字元串,其數字編号依次遞增
2.simple或never 将使用簡單備份,預設的備份字尾字元串是~, 也可通過-S來指定
3.existing或nil将使用目前方式,程式會先檢查是否存在着備份編号,若有則采用備份編号,若無則采用簡單備份
-x 或 --one-file-system 複制的檔案或目錄存放的檔案系統,必須與cp指令執行時所處的檔案系統相同,否則不複制,亦不處理位于其他分區的檔案
--help 顯示線上幫助
--sparse= 設定儲存希疏檔案的時機
--version 顯示版本
指令執行個體:
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、傳遞了目錄屬性、沒有略過目錄。
将檔案file1複制成file2,因為目的檔案已經存在,是以指定使用強制複制的模式
cp -f file1 file2
将目錄dir1複制成目錄dir2
cp -R file1 file2
同時将檔案file1、file2、file3與目錄dir1複制到dir2
cp -R file1 file2 file3 dir1 dir2
複制時保留檔案屬性
cp -p a.txt tmp/
複制時保留檔案的目錄結構
cp -P /var/tmp/a.txt ./temp/
複制時産生備份檔案
cp -b a.txt tmp/
複制時産生備份檔案,尾标 ~1~格式
cp -b -V t a.txt /tmp
指定備份檔案尾标
cp -b -S _bak a.txt /tmp
溫馨提示
感謝您浏覽《linux cp(複制)指令參數詳解》
現邀請您關注我們的【5分享】(fivsha)公衆号,你将擷取更多的IT資源。
如果有疑問也可以在公衆号裡面回複您遇到的問題或是點選線上幫助聯系我們。