跳至內容

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

參見

[編輯]

外部參考

[編輯]