您的位置:首页 > 运维架构 > Linux

Linux下的rename命令

2012-09-16 22:13 218 查看
今天在我的Fedora虚拟机上学点东西,有个文件需要重命名,于是想到了rename命令。

尝试了一下,发现没有起作用,我很疑惑,呵呵。

[luckydan@Fedora test]$ ls
a.txt
[luckydan@Fedora test]$ rename a.txt b.txt
[luckydan@Fedora test]$ ls
a.txt
为什么没有起作用,我以为是命令用法不对,查了一下
NAME
rename - Rename files

SYNOPSIS
rename from to file...
DESCRIPTION
rename will rename the specified files by replacing the first occur-
rence of from in their name by to.恩,没看明白。。。
然后在网上看到了这篇文章,我就明白了,谢谢小魏--冬雪:Linux中rename命令的用法

原来参数是有3个啊

又试了一次,这次有效了

[luckydan@Fedora test]$ rename a.txt b.txt *.txt
[luckydan@Fedora test]$ ls
b.txt
最后有一个问题,为什么rename命令的参数输入少了一个也不会有告警信息或者一些提示信息呢?第三个参数是否有默认值,如果有的话是什么呢,为什么少了他就不会进行重命名操作?

继续查,看到了这么一个解释:rename把文件名中的第一个参数字符串用第二个参数替换,只替换符合第三个参数模式的文件名。

也就是说,如果第三个参数是空的,是不是指重命名的文件模式为空,重命名操作找不到符合这个模式的文件,于是就没有对任何文件进行重命名操作。

So,解释很合理吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 虚拟机