新聞中心

[root@localhost ~]# mv 【選項(xiàng)】 源文件 目標(biāo)文件
選項(xiàng):
- -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í);
需要注意的是,同 rm 命令類似,mv 命令也是一個(gè)具有破壞性的命令,如果使用不當(dāng),很可能給系統(tǒng)帶來災(zāi)難性的后果。
【例 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)的幫助了。例如:
[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)過程)
【例 4】改名。
如果源文件和目標(biāo)文件在同一目錄中,那就是改名。例如:
[root@localhost ~]# mv bols lmls
#把 bols 改名為 lmls
目錄也可以按照同樣的方法改名。
【例 5】顯示移動(dòng)過程。
如果我們想要知道在移動(dòng)過程中到底有哪些文件進(jìn)行了移動(dòng),則可以使用 "-v" 選項(xiàng)來查看詳細(xì)的移動(dòng)信息。例如:
[root@localhost ~]# touch test1.txt test2.txt test3.txt
#建立三個(gè)測試文件
[root@localhost ~]# mv -v *.txt /tmp
"test1.txt" -> "/tmp/test1.txt"
"test2.txt" -> "/tmp/test2.txt"
"test3.txt" -> "/tmp/test3.txt"
#加入"-v"選項(xiàng),可以看到有哪些文件進(jìn)行了移動(dòng)
本文題目:Linuxmv命令:移動(dòng)文件或改名
文章起源:http://www.fisionsoft.com.cn/article/dpsdgii.html


咨詢
建站咨詢
