mv命令是move的縮寫(xiě),可以用來(lái)移動(dòng)文件或者將文件改名,是Linux系統(tǒng)下常用的命令,經(jīng)常用來(lái)備份文件或者目錄。
網(wǎng)站制作、成都做網(wǎng)站,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向近1000家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷(xiāo)等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。
命令格式
mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
選項(xiàng):
-f 強(qiáng)制覆蓋,如果目標(biāo)文件已經(jīng)存在,則不詢(xún)問(wèn),直接強(qiáng)制覆蓋;
-i 交互移動(dòng),如果目標(biāo)文件已經(jīng)存在,則詢(xún)問(wèn)用戶(hù)是否覆蓋;
-n 如果目標(biāo)文件已經(jīng)存在,則不會(huì)覆蓋,而且不詢(xún)問(wèn)用戶(hù);
-v 顯示文件或目錄的移動(dòng)過(guò)程;
-u 若目標(biāo)文件已經(jīng)存在,但兩者相比,源文件更新,則會(huì)對(duì)目標(biāo)文件進(jìn)行升級(jí)。
功能說(shuō)明 :移動(dòng)或更名現(xiàn)有的文件或目錄
用法 :
mv [OPTION]... SOURCE DEST
or: mv [OPTION]... SOURCE... DIRECTORY
or: mv [OPTION]... -t DIRECTORY SOURCE...
補(bǔ)充說(shuō)明: mv可移動(dòng)文件或目錄,或是更改文件或目錄的名稱(chēng)。
常用參數(shù) :
-b或--backup 若需覆蓋文件,則覆蓋前先行備份, 默認(rèn)備份的后綴是~ 。
-f或--force 若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目錄。 ( 默認(rèn)使用該參數(shù) )
-i或--interactive 覆蓋前先行詢(xún)問(wèn)用戶(hù)。
-S附加字尾或
--suffix=附加字尾 與-b參數(shù)一并使用,可指定備份文件的所要附加的字尾。
-u或--update 在移動(dòng)或更改文件名時(shí),若目標(biāo)文件已存在,且其文件日期比源文件新,則不覆蓋目標(biāo)文件。
-t或--target-directory=DIRECTORY 指定目標(biāo)目錄
-v或--verbose 執(zhí)行時(shí)顯示詳細(xì)的信息。
mv
原單詞: MoVe (改變位置,移動(dòng))
mv 命令用來(lái)為文件或目錄改名、或?qū)⑽募蚰夸浺迫肫渌恢谩?/p>
注意不能與同目錄下文件或目錄重名,否則會(huì)報(bào)錯(cuò)
類(lèi)似于 windows系統(tǒng)中的重命名和剪貼功能。
使用xshell連接linux
在root 目錄下 新建mvTest文件夾
進(jìn)入 mvTest 文件夾
新建 test.log 文件
使用ls 查看目錄
使用mv 重命名test.log 為 new.log
使用ls 查看目錄
使用 ls 查看當(dāng)前目錄 是否存在 a.log
查看 touchTest目錄中的文件
當(dāng)前工作目錄在 /root/mvTest
1、功能上的區(qū)別
mv:用戶(hù)可以使用該命令為文件或目錄重命名或?qū)⑽募梢粋€(gè)目錄移入另一個(gè)目錄中。
cp: 該命令的功能是將給出的文件或目錄拷貝到另一文件或目錄中。
2、從inode角度來(lái)區(qū)分
mv:會(huì)將存儲(chǔ)于indoe索引節(jié)點(diǎn)上的文件元信息也移動(dòng)到新文件中。
cp ?: 只會(huì)復(fù)制文件數(shù)據(jù),不會(huì)復(fù)制inode索引節(jié)點(diǎn)上的文件元信息。
測(cè)試效果如下圖所示,注意看inode號(hào)的變化。mv命令執(zhí)行后,test的inode號(hào)變成了1.txt的inode號(hào),而cp命令執(zhí)行后,test、1.txt兩個(gè)文件的inode號(hào)沒(méi)有發(fā)生變化 。
擴(kuò)展資料
Linux的基本思想有兩點(diǎn):
第一,一切都是文件;
第二,每個(gè)文件都有確定的用途。其中第一條詳細(xì)來(lái)講就是系統(tǒng)中的所有都?xì)w結(jié)為一個(gè)文件,包括命令、硬件和軟件設(shè)備、操作系統(tǒng)、進(jìn)程等等對(duì)于操作系統(tǒng)內(nèi)核而言,都被視為擁有各自特性或類(lèi)型的文件。至于說(shuō)Linux是基于Unix的,很大程度上也是因?yàn)檫@兩者的基本思想十分相近。
mv 命令是一個(gè)與cp類(lèi)似的命令,但是它并非創(chuàng)建文件或目錄的復(fù)制品/副本。不管你在使用什么版本的Linux系統(tǒng),mv 都默認(rèn)安裝在你的Linux系統(tǒng)上了。來(lái)看一下 mv 命令在日常操作中的一些例子。
1.移動(dòng)文件
移動(dòng)文件時(shí)需要注意的是文件的源地址和目標(biāo)地址必須不同。這里有個(gè)例子,想要將file_1.txt文件從當(dāng)前目錄移動(dòng)到其它目錄,以/home/pungki/為例,語(yǔ)法應(yīng)該如下:
$ mv file_1.txt /home/pungki/office
如我們所見(jiàn),當(dāng)我們移動(dòng) filetxt 文件時(shí),先前目錄的 file1.txt 就被刪除了。
2.移動(dòng)多個(gè)文件
如果想一次移動(dòng)多個(gè)文件,我們可以將他們放在一行并用空格分開(kāi)。
$ mv file_2.txt file_3.txt file_4.txt /home/pungki/office
如果你的文件有規(guī)律可循的話(huà)那么你就可以使用通配符。比如,為了移除所有以.txt為擴(kuò)展名的文件,我們可以用下面的命令:
$ mv *.txt /home/pungki/office
3.移動(dòng)目錄
不同于復(fù)制命令,用 mv 命令移動(dòng)目錄相當(dāng)直接。移動(dòng)目錄你可以使用不帶選項(xiàng)的 mv 命令。看下面的截圖就一目了然了。
4.重命名文件或目錄
我們也用 mv 命令來(lái)重命名文件或目錄。不過(guò)目標(biāo)位置和源位置必須相同才可以。然后文件名必須不同。
假定我們當(dāng)前所在目錄為/home/pungki/Documents,而我們想將file1.txt重命名為file2.txt。那么命令應(yīng)該如下:
$ mv file_1.txt file_2.txt
如果是絕對(duì)路徑,它應(yīng)該像下面這樣:
$ mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt
5. 重命名目錄
上一段的規(guī)則同樣適用于目錄。請(qǐng)看這個(gè)例子:
$ mv directory_1/ directory_2/
6. 打印移動(dòng)信息
當(dāng)你移動(dòng)或重命名一大堆文件或目錄時(shí),你可能會(huì)想在不去目標(biāo)位置去查看的情況下知道你自己的命令是否成功地執(zhí)行了。這就要用到-v選項(xiàng)了。
$ mv -v *.txt /home/pungki/office
該方法同樣適用于目錄。
7. 使用交互模式
當(dāng)你將文件移動(dòng)到其它位置,而那個(gè)位置恰好有同樣的文件,這時(shí) mv 命令會(huì)覆蓋掉原來(lái)的文件。對(duì)于mv的這一行為一般不會(huì)有什么提示。如果想產(chǎn)生一個(gè)關(guān)于覆蓋文件的提示,我們可以使用-i選項(xiàng)。(譯注:通常發(fā)行版會(huì)通過(guò)alias命令,將-i作為默認(rèn)選項(xiàng),所以會(huì)有提示。)
假設(shè)我們想將 file1.txt 移動(dòng)到 /home/pungki/office。同時(shí),/home/pungki/office 目錄下已經(jīng)有file1.txt文件了。
$ mv -i file_1.txt /home/pungki/office
這個(gè)提示會(huì)讓我們知道目標(biāo)位置處file_1.txt的存在。如果我們按y鍵,那么那個(gè)文件將會(huì)被刪除,否則不會(huì)。
8. 使用更新選項(xiàng)
-i 選項(xiàng)會(huì)提示我們關(guān)于覆蓋文件的提示,而 -u 則只在源文件比目標(biāo)文件新時(shí)才執(zhí)行更新。讓我們看一看下面的例子:
假如 file1.txt 和 file2.txt有如下特點(diǎn):
File_1.txt has 84 bytes file size and it last modified time is 12:00
File_2.txt has 0 bytes file size and it last modified time is 11:59
我們想將它們移動(dòng)到 /home/pungki/office 目錄下。**但是目標(biāo)地址*已經(jīng)有file1.txt和file2.txt了。
我們用下面的命令將file1.txt 和file2.txt從當(dāng)前目錄移動(dòng)到/home/pungki/office
$ mv -uv *.txt /home/pungki/office
可以看到這些文件被移動(dòng)了。能移動(dòng)這些文件是因?yàn)樗鼈冏罱男薷臅r(shí)間戳比 /home/pungki/office 目錄中的文件新。
9.不要覆蓋任何已存在的文件
如果-i選項(xiàng)詢(xún)問(wèn)我們是否要覆蓋文件,那么 -n 選項(xiàng)將不會(huì)允許我們覆蓋任何已存在的文件。
繼續(xù)使用第8點(diǎn)中的例子,如果我們將-u 換成 -n同時(shí)加上-v選項(xiàng),那么我們會(huì)看到?jīng)]有任何文件移動(dòng)到了 /home/pungki/office 目錄下。
$ mv -vn *.txt /home/pungki/office
10. 復(fù)制時(shí)創(chuàng)建備份
默認(rèn)情況下,移動(dòng)文件將會(huì)覆蓋已存在的目標(biāo)文件。但是如果我們移動(dòng)錯(cuò)了文件而目標(biāo)文件已經(jīng)被新的文件覆蓋了,這時(shí)應(yīng)該怎么辦才好呢?有沒(méi)有一種方法可以恢復(fù)之前的文件呢?答案是肯定的。我們可以用-b選項(xiàng)。該選項(xiàng)會(huì)在新文件覆蓋舊文件時(shí)將舊文件做備份。這里我們還以第8點(diǎn)為例。
$ mv -bv *.txt /home/pungki/office
如截圖中所見(jiàn),在 /home/pungki/office 目錄下出現(xiàn)了名為file1.txt~ and file2.txt~ 的文件。那個(gè)波浪符號(hào)(~)意味著這些文件是備份文件。從它們的屬性中我們可以看到,這些文件比f(wàn)ile1.txt和file2.txt要舊。
當(dāng)前題目:在linux中mv的命令,linux的mv命令詳解
網(wǎng)頁(yè)URL:http://www.sd-ha.com/article34/hdhepe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、品牌網(wǎng)站建設(shè)、Google、網(wǎng)站維護(hù)、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(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)