mv (Unix)
mv(英語:move)是類Unix作業系統中移動單個或多個檔案或目錄的命令。一般在移動操作之後,原來的檔案或目錄不能再次訪問。移動後的檔名可以與原來相同(只要不與原檔案在相同目錄中),也可以不同。當需要移動的檔案和新檔案位於同一檔案系統上時,mv命令只是將原始檔案重新命名來達到移動的效果。操作要求擁有需要被修改目錄的寫入權限。
與已存在檔案的衝突
當檔案將被移動時,若目標目錄含有與原始檔案同名的檔案,則目標文件將被刪除。如果已存在的目標文件並沒有寫權限,但它的所在目錄擁有寫權限,則mv命令在移動前請求用戶確認操作(當mv在終端中執行時)。但是使用 -f (強制) 選項來移動時,mv命令會跳過用戶確認環節而直接執行移動。
移動行為
選項
大多數版本的mv命令支援以下選項:
- -h 幫助模式,顯示支援的附加選項。 使用man mv命令可以檢視在你所使用的作業系統中mv命令支援的詳細參數選項。
- -i 互動模式,在將要覆蓋一個已存在檔案之前在標準錯誤中輸出提示,若用戶回答以'Y'或'y'字母開頭,則覆蓋操作將繼續執行(覆蓋此選項之前的-f和-n選項)。
- -n 不覆蓋已存在的檔案。(覆蓋此選項之前的-f和-i選項)。
- -f 強制模式,強制覆蓋目標文件(覆蓋此選項之前的-i和-n選項)。
- -v 詳述模式,在移動檔案(或目錄)後列出它們的名字。
附加選項(可以使用命令 man mv 以檢視詳情):
- -u 更新選項,也就是只在原始檔案比目標文件新或目標文件不存在時執行移動。
- -b 備份選項,使用一個~作為字尾來備份已存在的目標文件。
範例
將'myfile'重新命名為'myoldfilename':
mv myfile myoldfilename
從當前目錄移動'myfile'到用戶家目錄:
mv myfile ~/myfile
將'myfile'移動到相對路徑位置'subdir/myfile':
mv myfile subdir/myfile
mv myfile subdir # 此命令与前一命令作用相同,但不指明目标文件的文件名(暗示使用相同的文件名)
將'myfile'移動到子目錄'subdir',並改名為'myfile2':
mv myfile subdir/myfile2
移動'be.03'檔案到已掛載目錄'/mnt/bkup'的子目錄'bes'中(原檔案將在移動完成後被刪除):
mv be.03 /mnt/bkup/bes
移動多個檔案到'mydir'(這些檔案是'afile' 'another' '/home/yourdir/yourfile'):
mv afile another /home/yourdir/yourfile mydir
將以'Jun'開頭的檔案都移到'bkup/06'目錄中,並輸出被移動檔案的詳細清單:
mv -v Jun* bkup/06
檢視關於mv命令的簡單幫助,包括命令語法:
mv --help
檢視mv命令的手冊頁:
man mv