如何在 Linux 中使用 mv 命令移動檔案和目錄

Suraj Joshi 2021年7月18日
如何在 Linux 中使用 mv 命令移動檔案和目錄

我們可以通過 Linux 終端使用帶有各種引數的 mv 命令移動檔案和目錄。

使用 mv 命令移動檔案和目錄

mv(move) 命令可以將檔案和目錄從一個位置移動到另一個位置。它也可以用來重新命名檔案和目錄。

mv 命令的語法

mv [OPTIONS] source destination

上述命令中的 source 可以是一個或多個檔案或目錄,destination 總是一個檔案或目錄。

如果我們有多個檔案或目錄作為源,則目標總是目錄。在這種情況下,所有的原始檔和目錄都會被移動到目標目錄中。如果我們以單個檔案為源,以一個目錄為目標,則檔案會被移動到目標目錄。

在移動檔案和目錄時需要注意的一點是,如果我們沒有原始檔和目標目錄的寫許可權,我們將得到一個許可權拒絕的錯誤。

使用 mv 命令移動檔案到目錄

我們可以使用下面的命令來移動目錄內的檔案。

mv <filename> <path_of _destination_directory>

示例:使用 mv 命令在目錄內移動檔案

mv ILLUMEE.svg SVG

它將當前工作目錄下的檔案 ILLUMEE.svg 移動到當前工作目錄下的資料夾 SVG

如果目標目錄不存在,則將原始檔重新命名為目標檔案。

如果當前工作目錄中不存在目錄 SVG,則將檔案 ILLUMEE.svg 重新命名為 SVG

如果目標路徑也是一個檔名,則原始檔名與目標檔名重新命名。

mv ILLUMEE.svg 1.svg

它將把檔案 ILLUMEE.svg 重新命名為 1.svg

在某些情況下,目標檔案可能已經存在,如果我們使用 mv 命令,它將被覆蓋。為了在覆蓋前提示確認,我們使用 -i 選項和 mv 命令。

mv -i ILLUMEE.svg 1.svg

如果檔名 1.svg 已經存在,終端將在覆蓋前提示我們。

mv -i ILLUMEE.svg 1.svg

輸出:

mv: overwrite '1.svg'? n

如果要防止覆蓋,按 N 鍵並按 Enter 鍵,否則按 Y 鍵並按 Enter 鍵。

我們也可以通過使用 mv 命令的 -n 選項來防止覆蓋。

mv -n ILLUMEE.svg 1.svg

如果 1.svg 已經存在,它將防止覆蓋。

使用 mv 命令將一個目錄移動到另一個目錄內

要將一個目錄移動到另一個目錄裡面,我們可以使用以下命令。

mv <path_of_source_directory> <path_of _destination_directory>

例如使用 mv 命令在另一個目錄中移動一個目錄

mv Python_Scripts Python_Scripts_New

它將當前工作目錄中的 Python_Scripts 目錄移動到當前工作目錄中的另一個目錄 Python_Scripts_New 中。

如果目標目錄不存在,則將源目錄重新命名為目標目錄。

使用 mv 命令將多個檔案移動到另一個目錄下

要將多個檔案移動到另一個目錄中,我們在指定所有原始檔後再指定目標目錄路徑。

mv <source_filepath_1> <source_filepath_2> <source_filepath_3> 
     <path_of_destination_directory>

示例:使用 mv 命令將多個檔案移動到另一個目錄

mv 1.jpg 2.jpg 2.png Images

它將我們當前工作目錄下的檔案 1.jpg2.jpg2.png 移動到當前工作目錄下的另一個目錄 Images 裡面。

我們也可以通過使用正規表示式來匹配需要移動的檔名,來移動一個目錄裡面的多個檔案。

mv *.jpg JPG-Images

它將所有以 .jpg 結尾的檔案移動到 JPG-Images 資料夾中。

備份現有檔案

要對現有檔案進行備份,我們使用 -b 選項。它將為被覆蓋的檔案建立一個備份,並在備份檔案的名稱上加上 ~ 字元。

mv -b abc.jpg 123.jpg
ls

輸出:

123.jpg 123.jpg~
作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相關文章 - Linux Files and Directories