分类: LINUX
2011-02-12 16:07:55
刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的 方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv 命令。鉴于此,于是man rename一下,好好的研究了一下它的用法 ,在此对rename命令和mv命令在重命名文件方面做一个比较,有不足之处,希望各位博友指正!
首先来说一下mv命令,在man mv中我们可以看到对于mv命令的介绍是这样的:
mv -move(rename) files
可以看到mv命令确实有重命名的功能,但是实际应用中,它只能对单个文件重命名,命令如下:
mv [path/]oldfilename [path/]newfilename
“mv命令只能对单个文件重命名”,这实就是mv命令和rename命令的在重命名方面的根本区别。
再来说rename命令,在man rename的说明中可以看出rename命令是专用于文件重命名的,而且根据其后的例子可以看出,rename除了给单个文件重命名,还可以批量文件重命名。
同时,值得注意一点的是,rename命令是带3个参数而不是很多人认为的2个参数.
上面的例子中给出了两种文件批量重命名的用法,而实际上,rename结合通配符使用,它的功能比上面的例子所显示的更强大,这个大家可在实际工作中熟悉使用,下面说下它的基础用法:
rename 批量修改文件名
语法:rename from to file
该命令的各选项含义如下:
from 源字符。
to 目标字符。
file 要改名的文件
rename .rm .rmvb *
// 把所有文件的后辍由rm改为rmvb
rename 'tr/A-Z/a-z/' *
// 把所有文件名中的大写改为小写
rename file file_old Makefile
// 把
Makefile 修改成
Makefile_old
不过,在修改单个文件上,还是mv比较符合大家的习惯!
mv Makefile Makefile_old
// 把
Makefile 修改成
Makefile_old