mv
命令修改文件名,格式为mv 原文件名 新文件名
,mv old.txt new.txt
将文件重命名,支持批量修改,但需注意目标文件名冲突会导致覆盖。命令行方法(推荐)
mv
命令(最常用)
功能:移动或重命名文件/目录。
语法:
mv [选项] 源文件名 目标文件名
操作示例:
# 重命名单个文件 mv old_file.txt new_file.txt # 重命名目录 mv old_dir/ new_dir/ # 覆盖已存在文件时提示确认(避免误操作) mv -i old_file.txt existing_file.txt
关键选项:
-i
:覆盖前交互式确认-v
:显示操作详情(verbose)-n
:禁止覆盖已存在文件
注意事项:
- 若目标文件名已存在,
mv
会直接覆盖(无警告),建议搭配-i
使用。 - 支持通配符批量操作(需谨慎):
# 将所有 .txt 文件扩展名改为 .md mv *.txt *.md # 错误!通配符需结合循环
正确批量操作需用循环:
for file in *.txt; do mv "$file" "${file%.txt}.md" done
rename
命令(批量重命名)
功能:基于正则表达式批量重命名文件。
注意:Linux 有两种主流 rename
工具,语法不同:
- Perl 版本(常见于 Debian/Ubuntu):支持复杂正则
- util-linux 版本(常见于 Red Hat/CentOS):功能较简单
安装 Perl 版本:
# Debian/Ubuntu sudo apt install rename # Red Hat/CentOS sudo yum install prename
操作示例:
# Perl 版本:将所有 .jpeg 改为 .jpg rename 's/.jpeg$/.jpg/' *.jpeg # util-linux 版本:将前缀 "photo_" 改为 "image_" rename photo_ image_ photo_*.png
高级用法:
# 将文件名中的空格替换为下划线 rename 's/ /_/g' * # 大小写转换(Perl 版本) rename 'y/A-Z/a-z/' *.TXT # 大写转小写
其他命令行工具
-
mmv
:专为批量移动/重命名设计
安装:sudo apt install mmv
示例:mmv "old_*" "new_#1"
(将old_file
改为new_file
) -
find
+mv
:递归修改子目录文件find . -name "*.log" -exec mv {} {}.bak ;
图形界面方法
GNOME 桌面(Ubuntu/Fedora)
- 打开 Files(文件管理器)
- 右键点击目标文件 → Rename
- 输入新文件名 → 按回车确认
KDE Plasma(Kubuntu)
- 打开 Dolphin 文件管理器
- 选中文件 → 按 F2 或右键选择 Rename
- 输入新名称后保存
通用技巧:
- 支持批量重命名:选中多个文件 → 右键 Rename → 使用模板(如 “Image-{1..5}.png”)
- 快捷键:F2 为通用重命名快捷键
常见问题与解决
-
权限不足
sudo mv old_name new_name # 使用管理员权限 chmod u+w filename # 添加用户写权限
-
文件名含特殊字符(空格、引号等)
- 用引号包裹文件名:
mv "old file.txt" new_file.txt
- 转义特殊字符:
mv old file.txt new_file.txt
- 用引号包裹文件名:
-
操作不可逆
- 重要文件操作前备份:
cp -r original_dir/ backup_dir/ # 备份目录
- 使用
-i
选项避免覆盖:alias mv='mv -i'
(加入~/.bashrc
)
- 重要文件操作前备份:
-
撤销重命名
Linux 无内置撤销命令,需手动改回原名称或从备份恢复。
最佳实践建议
- 优先命令行:效率高且适合远程服务器操作。
- 批量操作前测试:用
echo
模拟结果(如rename -n 's/old/new/' *
)。 - 复杂场景:
- 递归重命名:结合
find
- 跨目录移动:
mv /path/old_name /new_path/new_name
- 递归重命名:结合
引用说明:
- GNU
mv
命令文档:https://www.gnu.org/software/coreutils/manual/ - Perl
rename
手册页:man rename
(安装后查看) - Linux 文件管理标准:Filesystem Hierarchy Standard
重要提示:操作前务必验证命令准确性,对关键数据先行备份,命令行操作需谨慎,避免误覆盖!
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/26978.html