在 Linux 系統操作中,mv 指令是最基礎也最常用的工具之一,主要功能包含檔案重命名與移動檔案或目錄。掌握這個指令能大幅提升檔案管理效率,本文將透過詳細實例帶您深入了解 mv 的各種用法。
mv [選項] 來源檔案或目錄 目標檔案或目錄
mv 的行為取決於第二個參數的類型:
特別注意:跨檔案系統移動時,mv 會先複製再刪除原檔案,此時指向原檔案的硬連結將會遺失。
| 參數 | 功能說明 |
|---|---|
-b | 覆蓋前先備份既有檔案 |
-f | 強制覆蓋,不詢問直接覆蓋目標檔案 |
-i | 互動模式,目標檔案存在時詢問是否覆蓋 |
-u | 僅在來源較新時才更新目標檔案 |
-t | 指定目標目錄,適用於移動多個檔案到同一目錄(目標在前,來源在後) |
# 將 test.log 重命名為 test1.txt
mv test.log test1.txt
執行前後的 ll 輸出對比可見,檔案名稱已變更,inode 與權限保持不變。
# 將 test1.txt 移動至 test3 目錄
mv test1.txt test3
移動後進入 test3 目錄查看,確認檔案已在其中。
# 方式一:傳統寫法(目標目錄在最後)
mv log1.txt log2.txt log3.txt test3
# 方式二:使用 -t 參數(目標目錄在前)
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
第二種寫法在腳本處理大量檔案時更直觀,也避免了參數順序搞錯的風險。
# 重命名並詢問是否覆蓋既有檔案
mv -i log1.txt log2.txt
若 log2.txt 已存在,系統會提示 mv:是否覆蓋 "log2.txt"?,輸入 y 確認覆蓋。
mv *.log /backup/)可快速批次處理同類檔案。mv 在同一檔案系統內原子操作天然保留;跨系統則需配合 cp -a 再刪除來源。熟練運用 mv 指令與其參數,能讓您在 Linux 終端機下靈活自如地管理檔案結構,是系統管理與日常操作的必備技能。
雙系統 Ubuntu 無法掛載 Windows 分區?安裝 ntfs-3g 並修復檔案系統
Linux Mint 17 Cinnamon 桌面共享設定:dconf-editor 啟用 Vino VNC 伺服器
Gentoo 系統安裝 Cacti 網路流量監控圖形分析工具完整指南
Linux 去除文件 ^M 字符 (CRLF→LF) 完全指南:vi、sed、dos2unix 多工具實戰
Linux 安裝與配置 vsftpd 虛擬使用者 FTP 伺服器完整教學
Ubuntu 安裝 SimpleScreenRecorder:高性能屏幕錄製工具部署指南
Linux Bash Shellshock (破殼) 漏洞 (CVE-2014-6271/7169) 檢測與修補完整指南