復(fù)制文件和目錄是在使用命令行時(shí)最常見的任務(wù)之一。在Linux,有兩個(gè)命令用于復(fù)制文件cp和rsync,但cp命令比rsync更受歡迎。
使用cp
命令復(fù)制文件,rsync
命令用于復(fù)制目錄,是這兩個(gè)命令一種常見的做法。為了能夠復(fù)制文件和目錄,您必須具有對(duì)源文件的讀取權(quán)限和對(duì)目標(biāo)目錄的寫入權(quán)限。
在本教程中,我們向您展示如何使用cp
命令和rsync
命令在Linux和基于Unix的系統(tǒng)復(fù)制文件和目錄。
cp 命令復(fù)制文件
在Linux和Unix操作系統(tǒng),cp
命令可用于復(fù)制文件和目錄。最簡單的用例是復(fù)制當(dāng)前工作目錄中的文件。
默認(rèn)情況下如果目標(biāo)文件存在,它將被覆蓋。如需要提示確認(rèn)信息。可以使用cp
命令的-i
選項(xiàng),cp
命令將會(huì)詢問你是否覆蓋目標(biāo)文件。
使用cp
命令復(fù)制文件時(shí),新文件將由運(yùn)行cp
命令的用戶所有。使用-p
選項(xiàng)可保留文件權(quán)限模式,包括所有權(quán)和時(shí)間戳等。
如果你需要查看復(fù)制的文件進(jìn)度,可以使用cp命令的-v
選項(xiàng)。使用此時(shí)選項(xiàng),命令將打印正在執(zhí)行的操作,這可以算是一個(gè)進(jìn)度。
你也可以在cp
命令是使用多個(gè)選項(xiàng),cp
命令將會(huì)整合多個(gè)選項(xiàng)功能。例如命令cp -ipv file.txt ~/
將會(huì)復(fù)制當(dāng)前目錄file.txt文件到家目錄。
cp file.txt file_backup.txt
cp -i file.txt file_backup.txt
cp -p file.txt file_backup.txt
cp -v file.txt file_backup.txt
cp 命令復(fù)制文件到指定目錄/文件夾
要將文件復(fù)制到另一個(gè)目錄,您需要指定目標(biāo)目錄的絕對(duì)路徑或相對(duì)路徑。僅將目錄作為目標(biāo)時(shí),復(fù)制的文件將與原始文件具有相同的名稱。
如果在復(fù)制文件時(shí)要改變原始文件的名稱,則需要指定目標(biāo)文件名稱。例如命令cp file.txt /backup/new_file.txt
將會(huì)復(fù)制文件file.txt
到/backup
目錄。
cp file.txt /backup
cp file.txt /backup/new_file.txt
cp 命令復(fù)制多個(gè)文件
要一次復(fù)制多個(gè)文件和目錄,請(qǐng)指定源文件和目錄的名稱,然后將目標(biāo)目錄作為最后一個(gè)參數(shù)。
復(fù)制多個(gè)文件時(shí),目標(biāo)必須是目錄。cp
命令還允許您使用模式匹配,類似于正則表達(dá)式的方式復(fù)制文件。
例如命令cp *.png /backup
將會(huì)把當(dāng)前目錄的png文件復(fù)制到/backup
目錄。
cp file.txt dir file1.txt file2.txt dir1
cp *.png /backup
cp 命令復(fù)制目錄/文件夾
如需要復(fù)制目錄,包括其所有文件和子目錄,請(qǐng)使用cp命令的-r
選項(xiàng),r
是recursive首字母。
如果目標(biāo)目錄不存在,cp將創(chuàng)建一個(gè)新的目標(biāo)目錄,并遞歸地將所有文件和子目錄從源目錄復(fù)制到目標(biāo)目錄。
如果目標(biāo)目錄已存在,則源目錄本身及其子目錄的所有內(nèi)容將復(fù)制到目標(biāo)目錄。如果你只需要復(fù)制文件和子目錄,而不復(fù)目錄本省,請(qǐng)組合使用cp
命令的-T
選項(xiàng)。
當(dāng)然在復(fù)制目錄時(shí),你也可以使用復(fù)制文件時(shí)使用的選項(xiàng)。例如-iprv
選項(xiàng)等。cp
命令的-r
選項(xiàng)是遞歸復(fù)制文件與目錄時(shí)必須使用的選項(xiàng)。
在以下示例中,將目錄Pictures
復(fù)制到Pictures_backup
。
cp -R Pictures Pictures_backup
cp -RT Pictures Pictures_backup
rsync 命令復(fù)制文件和目錄/文件夾
rsync
是一種快速且通用的命令,可在兩個(gè)目錄之間同步文件和目錄。也可以在本地與遠(yuǎn)程計(jì)算機(jī)之間進(jìn)行復(fù)制。
rsync
包含許多控制其行為的選項(xiàng)。其中最常用的選項(xiàng)是-a
,遞歸復(fù)制目錄,傳輸特殊設(shè)備文件和塊設(shè)備文件,保留符號(hào)鏈接,修改時(shí)間,組,權(quán)限。
在使用rsync
命令復(fù)制文件與目錄時(shí),如果目標(biāo)文件已存在,它將被覆蓋。在復(fù)制目錄時(shí),如果在源目錄添加尾部斜杠,它僅將源目錄的內(nèi)容復(fù)制到目標(biāo)目錄。
省略尾部斜杠時(shí),rsync
命令將復(fù)制源目錄到目標(biāo)目錄。最好的選擇是始終在目標(biāo)和源目錄包含尾部斜杠/
。
命令rsync -a file.txt file_backup.txt
將file.txt文件復(fù)制到file_backup.txt。
rsync -a file.txt file_backup.txt
rsync -a /var/www/public_html/ /var/www/public_html_backup/ #在復(fù)制目錄建議始終使用尾部/
結(jié)論
在本教程中,我們向您展示如何使用cp
和rsync
命令在Linux和基于Unix的系統(tǒng)中復(fù)制文件和目錄。
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209497 -
文件
+關(guān)注
關(guān)注
1文章
566瀏覽量
24744 -
命令
+關(guān)注
關(guān)注
5文章
684瀏覽量
22026
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論