如何在 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.jpg
、2.jpg
、2.png
移動到當前工作目錄下的另一個目錄 Images
裡面。
我們也可以通過使用正規表示式來匹配需要移動的檔名,來移動一個目錄裡面的多個檔案。
mv *.jpg JPG-Images
它將所有以 .jpg
結尾的檔案移動到 JPG-Images
資料夾中。
備份現有檔案
要對現有檔案進行備份,我們使用 -b
選項。它將為被覆蓋的檔案建立一個備份,並在備份檔案的名稱上加上 ~
字元。
mv -b abc.jpg 123.jpg
ls
輸出:
123.jpg 123.jpg~
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn