一、復(fù)制文件夾cp
cp -a vue vue-copy
將vue 文件夾下面的所有文件,復(fù)制到同目錄下vue-copy文件夾下面
- -a:相當(dāng)于 -d、-p、-r 選項(xiàng)的集合,這幾個(gè)選項(xiàng)我們一一介紹;
- -d:如果源文件為軟鏈接(對(duì)硬鏈接無效),則復(fù)制出的目標(biāo)文件也為軟鏈接;
- -i:詢問,如果目標(biāo)文件已經(jīng)存在,則會(huì)詢問是否覆蓋;
- -l:把目標(biāo)文件建立為源文件的硬鏈接文件,而不是復(fù)制源文件;
- -s:把目標(biāo)文件建立為源文件的軟鏈接文件,而不是復(fù)制源文件;
- -p:復(fù)制后目標(biāo)文件保留源文件的屬性(包括所有者、所屬組、權(quán)限和時(shí)間);
- -r:遞歸復(fù)制,用于復(fù)制目錄;
- -u:若目標(biāo)文件比源文件有差異,則使用該選項(xiàng)可以更新目標(biāo)文件,此選項(xiàng)可用于對(duì)文件的升級(jí)和備用。
1、cp 命令基本用法
cp 命令既可以復(fù)制文件,也可以復(fù)制目錄。我們先來看看如何復(fù)制文件,例如:
[root@localhost ~]# touch cangls
#建立源文件
[root@localhost ~]# cp cangls /tmp/
#把源文件不改名復(fù)制到 /tmp/ 目錄下
如果需要改名復(fù)制,則命令如下:
[root@localhost ~]# cp cangls /tmp/bols
#改名復(fù)制
如果復(fù)制的目標(biāo)位置已經(jīng)存在同名的文件,則會(huì)提示是否覆蓋,因?yàn)?cp 命令默認(rèn)執(zhí)行的是“cp -i”的別名,例如:
[root@localhost ~]# cp cangls /tmp/
cp:是否覆蓋"/tmp/cangls"?y
#目標(biāo)位置有同名文件,所以會(huì)提示是否覆蓋
接下來我們看看如何復(fù)制目錄,其實(shí)復(fù)制目錄只需使用“-r”選項(xiàng)即可,例如:
[root@localhost ~]# mkdir movie
#建立測試目錄
[root@localhost ~]# cp -r /root/movie/ /tmp/
#目錄原名復(fù)制
二、移動(dòng)文件夾mv
[root@localhost ~]# mv 【選項(xiàng)】 源文件 目標(biāo)文件
移動(dòng)之后,源文件會(huì)被刪除,類似剪切
mv a.txt dist
移動(dòng)a.txt文件到dist文件夾下面
- -f:強(qiáng)制覆蓋,如果目標(biāo)文件已經(jīng)存在,則不詢問,直接強(qiáng)制覆蓋;
- -i:交互移動(dòng),如果目標(biāo)文件已經(jīng)存在,則詢問用戶是否覆蓋(默認(rèn)選項(xiàng));
- -n:如果目標(biāo)文件已經(jīng)存在,則不會(huì)覆蓋移動(dòng),而且不詢問用戶;
- -v:顯示文件或目錄的移動(dòng)過程;
- -u:若目標(biāo)文件已經(jīng)存在,但兩者相比,源文件更新,則會(huì)對(duì)目標(biāo)文件進(jìn)行升級(jí);
【例 1】移動(dòng)文件或目錄。
[root@localhost ~]# mv cangls /tmp
#移動(dòng)之后,源文件會(huì)被刪除,類似剪切
[root@localhost ~]# mkdir movie
[root@localhost ~]# mv movie/ /tmp
#也可以移動(dòng)目錄。和 rm、cp 不同的是,mv 移動(dòng)目錄不需要加入 "-r" 選項(xiàng)
如果移動(dòng)的目標(biāo)位置已經(jīng)存在同名的文件,則同樣會(huì)提示是否覆蓋,因?yàn)?mv 命令默認(rèn)執(zhí)行的也是 “mv -i” 的別名,例如:
[root@localhost ~]# touch cangls
#重新建立文件
[root@localhost ~]# mv cangls /tmp
mv:是否覆蓋"tmp/cangls"?y
#由于 /tmp 目錄下已經(jīng)存在 cangls 文件,所以會(huì)提示是否覆蓋,需要手工輸入 y 覆蓋移動(dòng)
【例 2】強(qiáng)制移動(dòng)。
之前說過,如果目標(biāo)目錄下已經(jīng)存在同名文件,則會(huì)提示是否覆蓋,需要手工確認(rèn)。這時(shí)如果移動(dòng)的同名文件較多,則需要一個(gè)一個(gè)文件進(jìn)行確認(rèn),很不方便。
如果我們確認(rèn)需要覆蓋已經(jīng)存在的同名文件,則可以使用 “-f” 選項(xiàng)進(jìn)行強(qiáng)制移動(dòng),這就不再需要用戶手工確認(rèn)了。例如:
[root@localhost ~]# touch cangls
#重新建立文件
[root@localhost ~]# mv -f cangls /tmp
#就算 /tmp/ 目錄下已經(jīng)存在同名的文件,由于"-f"選項(xiàng)的作用,所以會(huì)強(qiáng)制覆蓋
【例 3】不覆蓋移動(dòng)。
既然可以強(qiáng)制覆蓋移動(dòng),那也有可能需要不覆蓋的移動(dòng)。如果需要移動(dòng)幾百個(gè)同名文件,但是不想覆蓋,這時(shí)就需要 “-n” 選項(xiàng)的幫助了。例如:文章來源:http://www.zghlxwxcb.cn/news/detail-607230.html
[root@localhost ~]# ls /tmp
/tmp/bols /tmp/cangls
#在/tmp/目錄下已經(jīng)存在bols、cangls文件了
[root@localhost ~]# mv -vn bols cangls lmls /tmp/、
"lmls"->"/tmp/lmls"
#再向 /tmp/ 目錄中移動(dòng)同名文件,如果使用了 "-n" 選項(xiàng),則可以看到只移動(dòng)了 lmls,而同名的 bols 和 cangls 并沒有移動(dòng)("-v" 選項(xiàng)用于顯示移動(dòng)過程)
三、修改文件的名稱mv
mv a.txt b.txt
將a.txt 的文件名修改為b.txt的文件名, 里面的內(nèi)容不會(huì)修改文章來源地址http://www.zghlxwxcb.cn/news/detail-607230.html
到了這里,關(guān)于Linux對(duì)文件夾操作(復(fù)制,移動(dòng))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!