Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux mv 指令完整教學:移動、重命名、批次操作與常用參數詳解

編輯:Linux 教學

mv(move)是 Linux 檔案系統操作的核心指令,既能移動檔案/目錄,也能重命名。掌握其參數與行為細節,能避免資料誤覆蓋與路徑錯誤。

基本語法

mv [選項] 來源 暸標

常用選項

選項完整名稱行為
-f--force強制覆蓋,不提示(預設行為)
-i--interactive覆蓋前逐一確認,建議別名 alias mv='mv -i'
-n--no-clobber不覆蓋既有檔案,靜默跳過
-v--verbose顯示每步操作詳情
-u--update僅在來源比目標新、或目標不存在時移動
-b--backup覆蓋前備份既有檔案(預設加 ~ 後綴)

行為對照表:來源與目標類型組合

指令形式結果
mv file1 file2重命名 file1 → file2(同目錄)
mv file1 dir/將 file1 移入 dir/ 目錄
mv dir1 dir2若 dir2 存在 → 移入 dir2/dir1;不存在 → 重命名 dir1 → dir2
mv dir1 file1錯誤:目標為檔案無法移入目錄

實戰範例

# 1. 重命名單一檔案
mv m1.c m2.c

# 2. 移動整個目錄樹到當前目錄(. 代表當前目錄)
mv /usr/student/* .

# 3. 批次重命名:將 *.log 改為 *.log.bak(需搭配迴圈)
for f in *.log; do mv "$f" "${f}.bak"; done

# 4. 安全移動:覆蓋前確認、顯示過程
mv -iv source.txt /backup/

# 5. 僅更新較新檔案(同步備份常用)
mv -uv /data/latest/* /backup/daily/

mv vs cp 核心差異

  • mv:修改目錄項(inode 不變),同檔案系統瞬間完成;跨檔案系統則退化為「複製+刪除」。檔案總數不變。
  • cp:建立新 inode 複製資料,檔案總數增加。

進階技巧

  • 防誤刪別名:在 ~/.bashrc 加入 alias mv='mv -i' alias cp='cp -i' alias rm='rm -i'。
  • 大量檔案移動效能:同檔案系統下 mv 僅更新元資料,極快;跨檔案系統考慮 rsync -a --remove-source-files 可斷點續傳。
  • 撤銷移動:無直接撤銷,若未覆蓋可 mv dest src 移回;若已覆蓋需從備份恢復。
Copyright © Windows教程網 All Rights Reserved