2021-02-06 分類(lèi): 網(wǎng)站建設(shè)
1. 前言
本文主要講解Linux系統(tǒng)如何使用命令行工具把文件復(fù)制到另一個(gè)文件夾或者目錄。
linux復(fù)制文件到另一個(gè)文件夾
2. cp命令的選項(xiàng)和功能
copy命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中,同MSDOS下的copy命令一樣,功能十分強(qiáng)大。
語(yǔ)法: cp [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
說(shuō)明:該命令把指定的源文件復(fù)制到目標(biāo)文件或把多個(gè)源文件復(fù)制到目標(biāo)目錄中。
該命令的各選項(xiàng)含義如下:
- a 該選項(xiàng)通常在拷貝目錄時(shí)使用。它保留鏈接、文件屬性,并遞歸地拷貝目錄,其作用等于dpR選項(xiàng)的組合。
- d 拷貝時(shí)保留鏈接。
- f 刪除已經(jīng)存在的目標(biāo)文件而不提示。
- i 和f選項(xiàng)相反,在覆蓋目標(biāo)文件之前將給出提示要求用戶(hù)確認(rèn)。回答y時(shí)目標(biāo)文件將被覆蓋,是交互式拷貝。
- p 此時(shí)cp除復(fù)制源文件的內(nèi)容外,還將把其修改時(shí)間和訪(fǎng)問(wèn)權(quán)限也復(fù)制到新文件中。
- r 若給出的源文件是一目錄文件,此時(shí)cp將遞歸復(fù)制該目錄下所有的子目錄和文件。此時(shí)目標(biāo)文件必須為一個(gè)目錄名。
- l 不作拷貝,只是鏈接文件。
案例1:
復(fù)制指定目錄下的全部文件到另一個(gè)目錄中
文件及目錄的復(fù)制是經(jīng)常要用到的。linux下進(jìn)行復(fù)制的命令為cp。
假設(shè)復(fù)制源目錄 為 dir1 ,目標(biāo)目錄為dir2。怎樣才能將dir1下所有文件復(fù)制到dir2下了
如果dir2目錄不存在,則可以直接使用
[root@zcwyou ~]# cp -r dir1 dir2
即可。
如果dir2目錄已存在,則需要使用
[root@zcwyou ~]# cp -r dir1/. dir2
如果這時(shí)使用cp -r dir1 dir2,則也會(huì)將dir1目錄復(fù)制到dir2中,明顯不符合要求。
ps:dir1、dir2改成對(duì)應(yīng)的目錄路徑即可。
案例2:
復(fù)制指定文件到指定文件夾
首先建立一個(gè)用于測(cè)試的目錄,用'tree'命令查看
可見(jiàn),目錄中主要包含用于測(cè)試的.txt文件和用于充當(dāng)炮灰的。tes文件
目標(biāo)是保持當(dāng)前的目錄結(jié)構(gòu),只把txt文件復(fù)制出來(lái)
本文將會(huì)以?xún)煞N情況作案例說(shuō)明。
比如要把A文件夾復(fù)制到B文件夾內(nèi)。比如A內(nèi)的文件是:
- A/ .hi.txt a1.txt shadow.json - dir1/ dir1.txt
即A目錄有 .hi.txt, a1.txt,shadow.json三個(gè)文件及一個(gè)子目錄dir1,dir1里含有一個(gè)文件dir1.txt。
3. 案例1:把`A`文件夾內(nèi)的所有文件復(fù)制到`B`文件夾內(nèi)
linux復(fù)制文件到另一個(gè)目錄
我們的目標(biāo):復(fù)制操作后B文件夾的內(nèi)容和原來(lái)A文件夾一樣:
- B/ .hi.txt a1.txt shadow.json - dir1/ dir1.txt
4. 案例2:把`A`文件夾本身復(fù)制到`B`文件夾內(nèi)
操作目標(biāo):復(fù)制完成后,B文件夾的要包含原來(lái)的A文件夾:
- B/ - A/ .hi.txt a1.txt shadow.json - dir1/ dir1.txt
5. 復(fù)制文件操作過(guò)程演示
第一種案例的命令,也就是把文件夾A中的所有內(nèi)容復(fù)制到B文件夾中,即B與A的內(nèi)容一樣。
[root@zcwyou ~]# cp -a A/. B
第二種案例的命令,也就是把文件夾A中的所有內(nèi)容復(fù)制成B文件夾中,即B包含A的所有內(nèi)容。
[root@zcwyou ~]# cp -a A B
需要解釋的點(diǎn):
6. 只復(fù)制指定文件的方法
繼續(xù)上面的例子,A文件夾:
- A/ .hi.txt a1.txt shadow.json - dir1/ dir1.txt
如果想要復(fù)制指定文件,可以在文件夾后面加入篩選字符,比如,篩選所有的.txt:
[root@zcwyou ~]# cp -a A/*.txt B
執(zhí)行完畢后,B目錄是:
- B/ a1.txt
需要注意的問(wèn)題:
7. 一次復(fù)制指定指定的多個(gè)文件
cp同時(shí)也支持手動(dòng)指定多個(gè)文件,繼續(xù)上面的例子,A文件夾:
- A/ .hi.txt a1.txt shadow.json - dir1/ dir1.txt
執(zhí)行cp:
[root@zcwyou ~]# cp -a A/.hi.txt A/dir1/dir1.txt B
執(zhí)行完畢后,B目錄是:
- B/ .hi.txt dir1.txt
需要注意的問(wèn)題:
8. 復(fù)制時(shí)強(qiáng)制覆蓋原文件
linux復(fù)制文件時(shí)強(qiáng)制覆蓋原文件
cp默認(rèn)會(huì)立即覆蓋目標(biāo)文件(如果存在的話(huà)),不做任何提示。
如果想要cp在覆蓋文件前做提示,請(qǐng)使用-i命令,即cp -i,示例:覆蓋文件前做提示
[root@zcwyou ~]# cp -i -a documents/. backup/
如果出現(xiàn)沒(méi)有加-i參數(shù),但cp仍然會(huì)提示覆蓋的問(wèn)題(比如會(huì)提示類(lèi)似這種消息:cp: overwrite dir/a.txt?)??赡苁莄p命令被別名化,請(qǐng)使用\cp來(lái)運(yùn)行命令。
強(qiáng)制不允許覆蓋文件前提示
[root@zcwyou ~]# \cp -a documents/. backup/
9. 總結(jié)
cp命令是Linux系統(tǒng)里最最為常用的命令,系統(tǒng)運(yùn)維者必須掌握它的所有功能和語(yǔ)法。linux復(fù)制文件到另一個(gè)文件夾或目錄更是最常用的功能之一。
分享文章:Linux如何使用命令行高效地復(fù)制文件到指定目錄
當(dāng)前路徑:http://jinyejixie.com/news/99522.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、企業(yè)網(wǎng)站制作、面包屑導(dǎo)航、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容