如何在Linux中移動文件和目錄(mv命令)

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

在本教程中,我們將說明如何使用 mv 命令來移動文件和目錄。

如何使用 mv 命令#

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

mv [OPTIONS] SOURCE DESTINATION

SOURCE 可以是一個或多個文件或目錄,並且 DESTINATION 可以是單個文件或目錄。

  • 當多個文件或目錄作為 SOURCEDESTINATION 必須是目錄。 在這種情況下, SOURCE 文件被移動到目標目錄。
  • 如果您將一個文件指定為 SOURCEDESTINATION 目標是現有目錄,然後將文件移動到指定目錄。
  • 如果您將一個文件指定為 SOURCE,以及一個文件 DESTINATION 目標,然後重命名文件。
  • 當。。。的時候 SOURCE 是一個目錄, DESTINATION 不存在 SOURCE 將重命名為 DESTINATION。 否則,如果 DESTINATION 存在,將其移入 DESTINATION 目錄。

要移動文件或目錄,您需要對兩個文件都具有寫權限 SOURCEDESTINATION。 否則,您將收到一個權限被拒絕的錯誤。

例如,移動文件 file1 從當前工作目錄到 /tmp 您將運行的目錄:

mv file1 /tmp

要重命名文件,您需要指定目標文件名:

mv file1 file2

移動目錄的語法與移動文件時的語法相同。 在以下示例中,如果 dir2 目錄存在,命令將移動 dir1dir2。 如果 dir2 不存在 dir1 將重命名為 dir2

mv dir1 dir2

移動多個文件和目錄

要移動多個文件和目錄,請指定要移動的文件作為源。 例如,移動文件 file1file2dir1 您將輸入的目錄:

mv file1 file2 dir1

mv 命令還允許您使用模式匹配。 例如,移動所有 pdf 文件從當前目錄到 ~/Documents 目錄,您將使用:

mv *.pdf ~/Documents

mv 命令選項

mv command接受一些會影響默認命令行為的選項。

在某些Linux發行版中, mv 可能是 mv 命令帶有一組自定義選項。 例如,在CentOS中 mv 是…的別名 mv -i。 你可以找到是否 mv 是使用的別名 type 命令:

type mv 

如果 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

如果一個 file1 存在以上命令將無濟於事。 否則會將文件移動到 /tmp 目錄。

備份文件

如果目標文件存在,則可以使用 -b 選項:

mv -b file1 /tmp

備份文件的名稱與帶有波浪號()的原始文件的名稱相同(~)。

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

ls /tmp/file1*
/tmp/file1  /tmp/file1~

詳細輸出

另一個有用的選擇是 -v。 使用此選項時,命令將顯示每個移動文件的名稱:

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

結論#

mv 命令用於移動和重命名文件和目錄。

有關的更多信息 mv 命令,檢查手冊頁或鍵入 man mv 在您的終端中。

被命令行嚇到的新Linux用戶可以使用GUI文件管理器移動文件。

如果您有任何疑問或反饋,請隨時發表評論。

電視終端

Sidebar