跳至內容

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

參見

外部參考