Linux經常使用命令02 - mv

移動文件和目錄是您在 Linux 系統上常常須要執行的最基本的任務之一。命令行

mv 命令(簡稱 move)用於將文件和目錄從一個位置重命名並移動到另外一個位置。 命令的語法以下:code

mv [OPTIONS] SOURCE DESTINATION

Source 能夠是一個或多個文件或目錄,DESTINATION 只能是是單個文件或目錄it

  • 多個文件或目錄做爲SOURCE, the 、DESTINATION必須是一個目錄。因此文件被移動到目標目錄
  • 若是將單個文件指定爲SOURCE, 目標是一個現有的目錄,而後該文件被移動到指定的目錄。
  • 若是將單個文件指定爲SOURCE, 一個單一的文件做爲那麼你就是目標重命名文件.
  • 當SOURCE是一個目錄,DESTINATION 根本不存在,SOURCE將被更名爲DESTINATION. 反之,它被移動到內部DESTINATION目錄

Note: 要移動文件或目錄,您須要對 SOURCE 和 DESTINATION 都具備寫權限。 不然,您將收到一個被拒絕的權限錯誤。class

Talk is cheap

簡單用法

例如,要將文件 file1從當前工做目錄文件夾移動到 / tmp 目錄,您能夠運行:pdf

mv file1 /tmp

要重命名一個文件,你須要指定目標文件名:sed

mv file1 file2

移動目錄的語法與移動文件時相同。 在下面的示例中,若是 dir2目錄存在,則該命令將 dir1移動到 dir2中。 若是 dir2不存在,dir1將被重命名爲 dir2:file

mv dir1 dir2

移動多個文件和目錄

若要移動多個文件和目錄,請指定要移動的文件做爲源文件。 例如,要將 file1和 file2文件移動到 dir1目錄,您能夠輸入:終端

mv file1 file2 dir1

命令也容許你使用模式匹配。 例如,要將全部 pdf 文件從工做目錄目錄移動到 ~ / Documents 目錄,你可使用:權限

mv *.pdf ~/Documents

參數

mv 命令接受幾個影響默認命令行爲的選項。語法

在某些 Linux 發行版中,mv 多是 mv 命令的別名,並帶有一組自定義選項。 例如,在 CentOS 中,mv 是 mv-i 的別名。 您可使用 type 命令查看 mv 是不是別名:

type mv

aF0FBl

若是 mv 是別名,輸出結果以下:

mv is aliased to `mv -i'

若是給出了衝突的選項,則最後一個選項優先。

覆蓋前的提示符

默認狀況下,若是目標文件存在,它將被覆蓋。要提示確認,使用-i 選項:

mv -i file1 /tmp

返回結果就是

mv: overwrite '/tmp/file1'?

覆蓋文件類型 y 或 Y。

強制覆蓋

若是您嘗試覆蓋只讀文件,mv 命令將提示您是否要覆蓋該文件:

mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 (r--------)?

爲了不被提示,請使用-f 選項:

mv -f file1 /tmp

當您須要覆蓋多個只讀文件時,此選項特別有用。

不要覆蓋現有的文件

n 選項告訴 mv 永遠不要覆蓋任何現有文件:

mv -f file1 /tmp

若是文件1存在,上面的命令將不執行任何操做,不然它將把文件移動到 / tmp 目錄。

備份文件

若是目標文件存在,您可使用-b 選項建立它的備份:

mv -b file1 /tmp

備份文件將具備與原始文件相同的名稱,並附加一個波浪號(~)。

使用 ls 命令驗證備份是否已建立:

/tmp/file1  /tmp/file1~

詳細輸出

另外一個可能有用的選項是-v。 當使用此選項時,命令輸出每一個移動文件的名稱:

mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'

小結

mv 命令用於移動和重命名文件和目錄。
有關 mv 命令的詳細信息,請查看手冊頁或在終端中鍵入 man mv
zquN8k 被命令行嚇到的新 Linux 用戶可使用 GUI 文件管理器來移動他們的文件。

相關文章
相關標籤/搜索