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

在 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 終端機下靈活自如地管理檔案結構,是系統管理與日常操作的必備技能。

Copyright © Windows教程網 All Rights Reserved