天天看點

linux cp -b,Linux指令學習之Linux cp指令

linux cp -b,Linux指令學習之Linux cp指令

功能:複制檔案或目錄

說明:cp指令用于仿制檔案或目錄,如一起指定兩個以上的檔案或目錄,且最終的目的地是一個現已存在的目錄,則它會把前面指定的一切檔案或目錄仿制到此目錄中。若一起指定多個檔案或目錄,而最終的目的地并非一個已存在的目錄,則會呈現錯誤資訊

參數:

-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     使用這項參數之後,隻會在源檔案的修改時間(ModificationTime)較目的檔案更新時,或是名稱互相對應的目的檔案并不存在,才複制檔案

-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-u-vfile1file2

.将檔案file1複制成檔案file2

cpfile1file2

.采用互動方式将檔案file1複制成檔案file2

cp-ifile1file2

.将檔案file1複制成file2,因為目的檔案已經存在,是以指定使用強制複制的模式

cp-ffile1file2

.将目錄dir1複制成目錄dir2

cp-Rfile1file2

.同時将檔案file1、file2、file3與目錄dir1複制到dir2

cp-Rfile1file2file3dir1dir2

.複制時保留檔案屬性

cp-pa.txttmp/

.複制時保留檔案的目錄結構

cp-P /var/tmp/a.txt ./temp/

.複制時産生備份檔案

cp-ba.txttmp/

.複制時産生備份檔案,尾标~1~格式

cp-b-Vt  a.txt/tmp

.指定備份檔案尾标

cp-b-S_baka.txt/tmp