溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中mv命令的具體用法

發(fā)布時(shí)間:2021-09-15 16:53:17 來源:億速云 閱讀:561 作者:chen 欄目:系統(tǒng)運(yùn)維

這篇文章主要講解了“Linux中mv命令的具體用法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux中mv命令的具體用法”吧!

mv 命令是一個(gè)與cp類似的命令,但是它并非創(chuàng)建文件或目錄的復(fù)制品/副本。不管你在使用什么版本的Linux系統(tǒng),mv 都默認(rèn)安裝在你的Linux系統(tǒng)上了。

用法:mv [選項(xiàng)]... [-T] 源文件 目標(biāo)文件
 或:mv [選項(xiàng)]... 源文件... 目錄
 或:mv [選項(xiàng)]... -t 目錄 源文件...
將源文件重命名為目標(biāo)文件,或?qū)⒃次募苿?dòng)至指定目錄。

長選項(xiàng)必須使用的參數(shù)對(duì)于短選項(xiàng)時(shí)也是必需使用的。
      --backup[=CONTROL]       為每個(gè)已存在的目標(biāo)文件創(chuàng)建備份
  -b                           類似--backup 但不接受參數(shù)
  -f, --force                  覆蓋前不詢問
  -i, --interactive            覆蓋前詢問
  -n, --no-clobber             不覆蓋已存在文件
如果您指定了-i、-f、-n 中的多個(gè),僅最后一個(gè)生效。
      --strip-trailing-slashes  去掉每個(gè)源文件參數(shù)尾部的斜線
  -S, --suffix=SUFFIX           替換常用的備份文件后綴
  -t, --target-directory=DIRECTORY      將所有參數(shù)指定的源文件或目錄
                                        移動(dòng)至 指定目錄
  -T, --no-target-directory     將目標(biāo)文件視作普通文件處理
  -u, --update                  只在源文件文件比目標(biāo)文件新,或目標(biāo)文件
                                不存在時(shí)才進(jìn)行移動(dòng)
  -v, --verbose         詳細(xì)顯示進(jìn)行的步驟
      --help            顯示此幫助信息并退出
      --version         顯示版本信息并退出

備份文件的后綴為"~",除非以--suffix 選項(xiàng)或是SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可通過--backup 選項(xiàng)或VERSION_CONTROL 環(huán)境
變量來選擇。以下是可用的變量值:

  none, off       不進(jìn)行備份(即使使用了--backup 選項(xiàng))
  numbered, t     備份文件加上數(shù)字進(jìn)行排序
  existing, nil   若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
  simple, never   永遠(yuǎn)使用普通方式備份

使用示例

1.移動(dòng)文件

移動(dòng)文件時(shí)需要注意的是文件的源地址和目標(biāo)地址必須不同。這里有個(gè)例子,想要將file_1.txt文件從當(dāng)前目錄移動(dòng)到其它目錄,以/home/pungki/為例,語法應(yīng)該如下:

代碼如下:


$ mv file_1.txt /home/pungki/office


Linux中mv命令的具體用法

如我們所見,當(dāng)我們移動(dòng) filetxt 文件時(shí),先前目錄的 file1.txt 就被刪除了。

2.移動(dòng)多個(gè)文件

如果想一次移動(dòng)多個(gè)文件,我們可以將他們放在一行并用空格分開。

代碼如下:


$ mv file_2.txt file_3.txt file_4.txt /home/pungki/office


Linux中mv命令的具體用法

如果你的文件有規(guī)律可循的話那么你就可以使用通配符。比如,為了移除所有以.txt為擴(kuò)展名的文件,我們可以用下面的命令:

代碼如下:


$ mv *.txt /home/pungki/office


Linux中mv命令的具體用法

3.移動(dòng)目錄

不同于復(fù)制命令,用 mv 命令移動(dòng)目錄相當(dāng)直接。移動(dòng)目錄你可以使用不帶選項(xiàng)的 mv 命令??聪旅娴慕貓D就一目了然了。
Linux中mv命令的具體用法

4.重命名文件或目錄

我們也用 mv 命令來重命名文件或目錄。不過目標(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


Linux中mv命令的具體用法

5. 重命名目錄

上一段的規(guī)則同樣適用于目錄。請看這個(gè)例子:

代碼如下:


$ mv directory_1/ directory_2/


Linux中mv命令的具體用法

6. 打印移動(dòng)信息

當(dāng)你移動(dòng)或重命名一大堆文件或目錄時(shí),你可能會(huì)想在不去目標(biāo)位置去查看的情況下知道你自己的命令是否成功地執(zhí)行了。這就要用到-v選項(xiàng)了。

代碼如下:


$ mv -v *.txt /home/pungki/office


Linux中mv命令的具體用法

該方法同樣適用于目錄。
Linux中mv命令的具體用法

7. 使用交互模式

當(dāng)你將文件移動(dòng)到其它位置,而那個(gè)位置恰好有同樣的文件,這時(shí) mv 命令會(huì)覆蓋掉原來的文件。對(duì)于mv的這一行為一般不會(huì)有什么提示。如果想產(chǎn)生一個(gè)關(guān)于覆蓋文件的提示,我們可以使用-i選項(xiàng)。(譯注:通常發(fā)行版會(huì)通過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


Linux中mv命令的具體用法

這個(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í)行更新。讓我們看一看下面的例子:
Linux中mv命令的具體用法

假如 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)詢問我們是否要覆蓋文件,那么 -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


Linux中mv命令的具體用法

10. 復(fù)制時(shí)創(chuàng)建備份

默認(rèn)情況下,移動(dòng)文件將會(huì)覆蓋已存在的目標(biāo)文件。但是如果我們移動(dòng)錯(cuò)了文件而目標(biāo)文件已經(jīng)被新的文件覆蓋了,這時(shí)應(yīng)該怎么辦才好呢?有沒有一種方法可以恢復(fù)之前的文件呢?答案是肯定的。我們可以用-b選項(xiàng)。該選項(xiàng)會(huì)在新文件覆蓋舊文件時(shí)將舊文件做備份。這里我們還以第8點(diǎn)為例。

代碼如下:


$ mv -bv *.txt /home/pungki/office


Linux中mv命令的具體用法

如截圖中所見,在 /home/pungki/office 目錄下出現(xiàn)了名為file1.txt~ and file2.txt~ 的文件。那個(gè)波浪符號(hào)(~)意味著這些文件是備份文件。從它們的屬性中我們可以看到,這些文件比file1.txt和file2.txt要舊。

11. 無條件覆蓋已經(jīng)存在的文件

當(dāng)你希望無論如何都覆蓋已經(jīng)存在的文件或目錄時(shí),你可以使用 -f 選項(xiàng)。如果同時(shí)指定了 -f 選項(xiàng)和 -i 或 -n 選項(xiàng),則 -f 選項(xiàng)會(huì)覆蓋它們——即不進(jìn)行任何提示而覆蓋,所以,在使用此參數(shù)時(shí),知道你在做什么。

代碼如下:


$ mv -f *.txt /home/pungki/office

感謝各位的閱讀,以上就是“Linux中mv命令的具體用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Linux中mv命令的具體用法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI