佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > Linux中mv命令的高級(jí)用法示例

Linux中mv命令的高級(jí)用法示例

熱門標(biāo)簽:硅谷的囚徒呼叫中心 智能手機(jī) 阿里云 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 使用U盤裝系統(tǒng) 網(wǎng)站建設(shè) 美圖手機(jī) 檢查注冊(cè)表項(xiàng)

前言

mv命令是move的縮寫,可以用來移動(dòng)文件或者將文件改名(move (rename) files),是Linux系統(tǒng)下常用的命令,經(jīng)常用來備份文件或者目錄。

命令格式:

mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄

mv 也是 Linux 下一個(gè)使用頻率非常高的命令,但除了一些基本用法,你還知道它的哪些高級(jí)用法呢?

1. 基本用法

  • 移動(dòng)一個(gè)/多個(gè)文件;
  • 移動(dòng)一個(gè)/多個(gè)目錄;
  • 重命名文件/目錄。

這些都是很基本的用法,無需贅述。下面介紹一些更高級(jí)的用法。

2. 打印操作信息

我們?nèi)绻灰苿?dòng)一兩個(gè)或少數(shù)幾個(gè)文件/目錄時(shí),暫且還可以去目標(biāo)位置去查看文件是否移動(dòng)成功。但如果有千百個(gè)文件呢?如何在不去目標(biāo)位置查看的情況下知道我們的操作是否已經(jīng)成功了呢?我們可以加上 -v 選項(xiàng)。

[alvin@VM_0_16_centos mv_test]$ mv -v *.txt /home/alvin/test/mv_test/des/
‘file1.txt' -> ‘/home/alvin/test/mv_test/des/file1.txt'
‘file2.txt' -> ‘/home/alvin/test/mv_test/des/file2.txt'
‘file3.txt' -> ‘/home/alvin/test/mv_test/des/file3.txt'
‘file4.txt' -> ‘/home/alvin/test/mv_test/des/file4.txt'
‘file5.txt' -> ‘/home/alvin/test/mv_test/des/file5.txt'

當(dāng)然,此方法同樣適用于移動(dòng)目錄。

3. 使用交互模式

在默認(rèn)情況下,我們移動(dòng)文件/目錄時(shí),不會(huì)有任何提示。如果在目標(biāo)位置我們有個(gè)相同名字的文件/目錄,mv 命令也不會(huì)提示而直接替換原來的文件。而這樣的操作,有時(shí)可能會(huì)造成災(zāi)難性的后果。

在這種情況下,我們可以加一個(gè) -i 選項(xiàng),當(dāng)目標(biāo)位置有相同名字的文件時(shí),它將會(huì)進(jìn)行提示。如果你確認(rèn)要覆蓋目標(biāo)文件,鍵入 y 即可。

[alvin@VM_0_16_centos mv_test]$ mv -i file1.txt /home/alvin/test/mv_test/des/
mv: overwrite ‘/home/alvin/test/mv_test/des/file1.txt'? y

4. 不覆蓋同名文件

如果目標(biāo)位置有同名文件,我們不希望它被覆蓋,可以加上 -n 選項(xiàng)。

[alvin@VM_0_16_centos mv_test]$ ll *.txt des/*.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:26 file2.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:35 file3.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:26 des/file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:27 des/file2.txt
[alvin@VM_0_16_centos mv_test]$ mv -nv *.txt /home/alvin/test/mv_test/des/
‘file3.txt' -> ‘/home/alvin/test/mv_test/des/file3.txt' #目標(biāo)位置沒有file3.txt文件,所以成功移動(dòng)
[alvin@VM_0_16_centos mv_test]$ ls
des file2.txt

5. 使用更新選項(xiàng)

當(dāng)目標(biāo)位置有同名文件/目錄時(shí),我們只希望源文件比目標(biāo)文件時(shí)間戳更新時(shí),才進(jìn)行覆蓋,否則不執(zhí)行。這種情況下,我們可以使用 -u 選項(xiàng)。

[alvin@VM_0_16_centos mv_test]$ ll *.txt des/*.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:26 file1.txt #源文件比目標(biāo)文件時(shí)間戳更新
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:26 file2.txt #源文件比目標(biāo)文件時(shí)間戳更舊
-rw-rw-r-- 1 alvin alvin 0 Feb 8 16:53 des/file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:27 des/file2.txt
[alvin@VM_0_16_centos mv_test]$ mv -uv *.txt /home/alvin/test/mv_test/des/
‘file1.txt' -> ‘/home/alvin/test/mv_test/des/file1.txt' #只有時(shí)間戳更新的文件被替換
[alvin@VM_0_16_centos mv_test]$ ls
des file2.txt

6. 覆蓋前創(chuàng)建備份

目標(biāo)位置已經(jīng)有了同名文件,如果直接覆蓋總覺得有點(diǎn)不踏實(shí),萬一現(xiàn)在的決定是錯(cuò)的呢?有沒可能在覆蓋之前,先將目標(biāo)文件進(jìn)行備份?答案是肯定的,加一個(gè) -b 選項(xiàng)即可。

[alvin@VM_0_16_centos mv_test]$ mv -bv *.txt /home/alvin/test/mv_test/des/
‘file1.txt' -> ‘/home/alvin/test/mv_test/des/file1.txt' (backup: ‘/home/alvin/test/mv_test/des/file1.txt~')
‘file2.txt' -> ‘/home/alvin/test/mv_test/des/file2.txt' (backup: ‘/home/alvin/test/mv_test/des/file2.txt~')
[alvin@VM_0_16_centos mv_test]$ ll des/
total 0
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:41 file1.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:26 file1.txt~
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:26 file2.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:27 file2.txt~
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:35 file3.txt

可以看到,在覆蓋之前,會(huì)將目標(biāo)文件備份為一個(gè)帶波浪號(hào) ~ 的文件,同時(shí)細(xì)心的讀者也會(huì)注意到,覆蓋后文件與備份文件的時(shí)間戳不一樣。

以上就是 mv 命令的一些更高級(jí)用法,靈活使用的話會(huì)為自己的工作效率提高一個(gè)檔次,在同事面前也更能裝逼。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:黃山 山南 賀州 通遼 湘潭 湖北 煙臺(tái) 懷化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux中mv命令的高級(jí)用法示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    淮南市| 连云港市| 军事| 茌平县| 雅安市| 谷城县| 周宁县| 沙河市| 大安市| 正蓝旗| 晋中市| 习水县| 玉环县| 塔城市| 巴东县| 大厂| 招远市| 民丰县| 平泉县| 安福县| 丹棱县| 苗栗市| 彩票| 广汉市| 普兰县| 台山市| 灵川县| 兰溪市| 望江县| 儋州市| 百色市| 定兴县| 北流市| 高平市| 错那县| 建昌县| 吉隆县| 玉龙| 久治县| 林口县| 丰顺县|