在 Linux 系统中,修改文件名可以通过多种命令行工具实现。以下是常用的方法及详细说明:
mv
命令(最常用)功能:移动或重命名文件/目录
语法:
mv [选项] 原文件名 新文件名
示例:
mv oldfile.txt newfile.txt # 重命名文件
mv dir1 dir2 # 重命名目录
选项:
- -i
:交互模式(覆盖前提示确认)
- -v
:显示操作详情
mv -i old.txt new.txt # 若新文件存在会提示确认
rename
命令(批量重命名)功能:基于正则表达式批量重命名
语法(Perl版本):
rename 's/原模式/新模式/' 文件匹配模式
示例:
rename 's/.txt/.log/' *.txt # 将所有.txt后缀改为.log
rename 's/^/prefix_/' *.png # 为所有.png文件添加前缀
注意:
- 不同 Linux 发行版的 rename
可能不同(如 Ubuntu 默认是 Perl 版本,需通过 sudo apt install rename
安装)。
mmv
命令(高级批量重命名)需先安装:
sudo apt install mmv # Debian/Ubuntu
sudo yum install mmv # RHEL/CentOS
示例:
mmv "*.old" "#1.new" # 将.old后缀改为.new
文件名含空格或特殊字符
用引号包裹文件名:
mv "old name.txt" "new name.txt"
覆盖已存在文件
-i
选项确认覆盖:
bash
mv -i old.txt existing.txt
-n
禁止覆盖:
bash
mv -n old.txt existing.txt # 若existing.txt存在,则不操作
递归重命名目录下所有文件
结合 find
和 mv
:
find /path -type f -name "*.txt" -exec mv {} {}.bak \;
场景 | 推荐命令 |
---|---|
单个文件/目录重命名 | mv |
批量复杂重命名 | rename (Perl) |
简单批量重命名 | mmv |
根据需求选择合适的方法即可!