在Linux系統中,mv命令主要用於移動或重命名檔案或目錄。其基本格式為「mv [選項] 源檔案或目錄 目標檔案或目錄」。這個命令的具體功能取決於目標參數的類型,如果目標是檔案,則用於重命名源檔案;如果目標是目錄,則將源檔案或目錄移動到該目錄下。
詳細解釋如下:
當目標為檔案時。如果目標檔案已經存在,且源檔案是單個檔案,則mv命令會將源檔案重命名為目標檔案的名稱。如果目標檔案已經存在,且是目錄,則mv命令會詢問是否覆蓋目標檔案。可以使用「-f」選項來強制覆蓋目標檔案而不進行詢問。
當目標為目錄時。可以有多個源檔案或目錄,mv命令會將所有指定的源檔案移動到目標目錄中。
在跨檔案系統移動檔案時。mv命令會先複製檔案,然後刪除原有檔案。如果源檔案或目錄已經存在且目標位置是另一個檔案系統,mv命令會先複製後刪除原有檔案。
常用選項包括:
「-b」:在覆蓋現有檔案前進行備份。
「-f」:強制覆蓋,不詢問。
「-i」:互動式,覆蓋前詢問。
「-n」:不覆蓋已存在的檔案。
「-u」:僅當源檔案比目標檔案新或目標檔案不存在時,才進行移動。
「-v」:顯示詳細輸出,列出已移動的每個檔案。
例如,將檔案「file.txt」重命名為「newfile.txt」,可以使用命令「mv file.txt newfile.txt」;將多個檔案「file1.txt」、「file2.txt」移動到目錄「dir/」中,可以使用命令「mv file1.txt file2.txt dir/」。