|
cp命令用來將一個或多個源文件或者目錄復(fù)制到指定的目的文件或目錄。它可以將單個源文件復(fù)制成一個指定文件名的具體的文件或一個已經(jīng)存在的目錄下。cp命令還支持同時復(fù)制多個文件,當(dāng)一次復(fù)制多個文件時,目標(biāo)文件參數(shù)必須是一個已經(jīng)存在的目錄,否則將出現(xiàn)錯誤。
語法
cp(選項)(參數(shù))
選項
-a:此參數(shù)的效果和同時指定"-dpR"參數(shù)相同;
-d:當(dāng)復(fù)制符號連接時,把目標(biāo)文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復(fù)制文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對源文件建立符號連接,而非復(fù)制文件;
-u:使用這項參數(shù)后只會在源文件的更改時間較目標(biāo)文件更新時或是名稱相互對應(yīng)的目標(biāo)文件并不存在時,才復(fù)制文件;
-S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認后綴;
-b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
-v:詳細顯示命令執(zhí)行的操作。
參數(shù)
-
源文件:制定源文件列表。默認情況下,cp命令不能復(fù)制目錄,如果要復(fù)制目錄,則必須使用
-R選項;
-
目標(biāo)文件:指定目標(biāo)文件。當(dāng)“源文件”為多個文件時,要求“目標(biāo)文件”為指定的目錄。
實例
如果把一個文件復(fù)制到一個目標(biāo)文件中,而目標(biāo)文件已經(jīng)存在,那么,該目標(biāo)文件的內(nèi)容將被破壞。此命令中所有參數(shù)既可以是絕對路徑名,也可以是相對路徑名。通常會用到點.或點點..的形式。例如,下面的命令將指定文件復(fù)制到當(dāng)前目錄下:
cp ../mary/homework/assign .
所有目標(biāo)文件指定的目錄必須是己經(jīng)存在的,cp命令不能創(chuàng)建目錄。如果沒有文件復(fù)制的權(quán)限,則系統(tǒng)會顯示出錯信息。
將文件file復(fù)制到目錄/usr/men/tmp下,并改名為file1
cp file /usr/men/tmp/file1
將目錄/usr/men下的所有文件及其子目錄復(fù)制到目錄/usr/zh中
cp -r /usr/men /usr/zh
交互式地將目錄/usr/men中的以m打頭的所有.c文件復(fù)制到目錄/usr/zh中
cp -i /usr/men m*.c /usr/zh
我們在Linux下使用cp命令復(fù)制文件時候,有時候會需要覆蓋一些同名文件,覆蓋文件的時候都會有提示:需要不停的按Y來確定執(zhí)行覆蓋。文件數(shù)量不多還好,但是要是幾百個估計按Y都要吐血了,于是折騰來半天總結(jié)了一個方法:
cp aaa/* /bbb
復(fù)制目錄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、傳遞了目錄屬性、沒有略過目錄。
|