单个文件修改:mv
命令
mv
(move)是Linux基础命令,通过重命名实现后缀修改。
语法示例:
mv 原文件名.旧后缀 新文件名.新后缀
操作案例:
将 report.txt
改为 report.pdf
mv report.txt report.pdf
验证结果:
ls -l report.pdf # 检查文件是否存在
批量修改后缀:rename
命令
rename
支持正则表达式,适合批量操作。
安装(如未预装)
Debian/Ubuntu 系统:
sudo apt install rename
CentOS/RHEL 系统:
sudo yum install prename
批量修改语法
rename 's/\.旧后缀$/\.新后缀/' *.旧后缀
操作案例:
目录内所有 .jpg
文件改为 .png
rename 's/\.jpg$/\.png/' *.jpg
关键参数解析:
s/旧模式/新模式/
:替换模式\.
:转义点号(是正则特殊字符)- :匹配文件名结尾
替代方案:循环 + mv
命令
若系统无 rename
,可用 bash
循环实现批量修改:
for file in *.旧后缀; do mv -- "$file" "${file%.旧后缀}.新后缀" done
操作案例:
所有 .doc
文件改为 .docx
for file in *.doc; do mv -- "$file" "${file%.doc}.docx" done
参数说明:
${file%.旧后缀}
:删除变量file
中匹配的旧后缀- :防止文件名以 开头时被误判为参数
图形界面操作(适合新手)
以 GNOME 文件管理器(Nautilus) 为例:
- 打开文件所在目录
- 右键点击文件 → “重命名”
- 直接编辑后缀名(如
file.txt
→file.md
) - 按回车确认
⚠️ 注意:部分系统默认隐藏已知后缀名,需提前在文件管理器设置中取消勾选 “隐藏文件扩展名”。
关键注意事项
- 后缀名与文件格式:
修改后缀名不会转换文件实际内容(如将.txt
改为.jpg
不会变成图片),需用专业工具转换格式(如ffmpeg
转视频、imagemagick
转图片)。 - 覆盖风险:
若新文件名已存在,mv
会直接覆盖,建议添加-i
参数交互确认:mv -i old.txt new.txt # 提示是否覆盖
- 特殊字符处理:
文件名含空格或特殊符号(如 、)时,用引号包裹:mv "old file.txt" "new file.md"
- 系统隐藏文件:
以 开头的文件(如.config
)是隐藏文件,用ls -a
查看,重命名方法相同。
- 单文件 → 用
mv
命令 - 批量修改 → 首选
rename
,次选bash
循环 - 新手友好 → 图形界面直接操作
掌握这些方法可应对99%的改后缀需求,同时避免常见操作误区。
引用说明基于 Linux 核心工具(GNU coreutils)官方文档及社区实践,参考命令手册(
man mv
,man rename
)和 Filesystem Hierarchy Standard (FHS) 标准。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4355.html