Linux mv 移動與重新命名檔案
mv 是 Move 的縮寫,它有兩個主要功能:
- 移動 檔案或目錄的位置(剪下並貼上)。
- 重新命名 檔案或目錄(原地移動 = 改名)。
基本用法
mv [來源] [目標]
1. 移動檔案
將 file.txt 移動到 Documents 資料夾中。
mv file.txt Documents/
2. 重新命名檔案 (Rename)
如果「來源」與「目標」在同一個目錄下,mv 的行為就是 改名。
# 將 old_name.txt 改名為 new_name.txt
mv old_name.txt new_name.txt
3. 移動並同時改名
你當然可以把檔案移到別的地方,順便換個名字。
# 把 file.txt 移到 backup 資料夾,並改名為 file.txt.bak
mv file.txt backup/file.txt.bak
4. 移動目錄
mv 移動目錄時 不需要 像 cp 那樣加 -r 參數,直接移就可以了。
# 把 folder1 移動到 folder2 裡面
mv folder1 folder2/
常用參數
-i:覆寫前詢問 (Interactive)
跟 cp 一樣,如果目標位置已經有同名檔案,mv 預設會直接覆蓋!加上 -i 可以讓系統在覆蓋前先問你一下。
mv -i file.txt existing_file.txt
-f:強制移動 (Force)
與 -i 相反。如果目標檔案唯讀或有其他狀況導致系統詢問,-f 會強制覆蓋不詢問。
-n:不覆蓋已存在的檔案 (No clobber)
如果目標檔案已經存在,則 不要 執行移動操作(保護目標檔案)。
mv -n file.txt existing_file.txt
# 因為 existing_file.txt 存在,所以什麼事都不會發生
常見情境
使用萬用字元移動多個檔案
把目前目錄下所有的圖片檔 (.jpg) 都移到 Photos 資料夾:
mv *.jpg Photos/