单个文件修改: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