在 Linux 中修改文件名常用以下几种方式,按使用场景从简单到进阶说明:
mv 命令(最常用)mv 原文件名 新文件名
示例:
mv test.txt new_test.txt
✅ 本质:移动 + 重命名
mv oldname.txt /home/user/docs/newname.txt
rename(最强大)rename
rename 's/旧字符串/新字符串/' 文件名
示例:把所有 .txt 改成 .md
rename 's/\.txt$/.md/' *.txt
批量加前缀:
rename 's/^/prefix_/' *.txt
批量加后缀:
rename 's/(\.txt)$/_bak$1/' *.txt
⚠️ 注意:不同 Linux 发行版 rename 语法可能不同
for 循环(通用、安全)for f in *.txt; do
mv "$f" "${f%.txt}.md"
done
解释:
${f%.txt}:去掉 .txt 后缀.md:新后缀mmv(适合复杂批量)安装:
sudo apt install mmv
示例:
mmv "*.txt" "#1.md"
mv file.txt file.jpg
或批量:
for f in *.txt; do
mv "$f" "${f%.txt}.jpg"
done
. 开头)mv .oldname .newname
mv file* newfile
⚠️ 如果匹配多个文件会报错,建议配合循环使用
F2 重命名❌ 文件名有空格:
mv my file.txt new.txt # 错误
✅ 正确写法:
mv "my file.txt" new.txt
| 场景 | 推荐方式 |
|---|---|
| 单个文件 | mv |
| 批量重命名 | rename 或 for |
| 初学者 | mv + 循环 |
| 复杂规则 | rename |
如果你有具体文件名示例(如带日期、空格、中文),我可以给你写精确命令。