Linux 重命名文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 重命名文件相关的知识,希望对你有一定的参考价值。
在某个空卖目录下创建一个名为-x的文件,请说出当你试图对该文件进行重命名时将会发生什么情况?如何才能对它重命名。
在linux一般重命名文件可以使用mv命令:
格式:mv [选项] 源文件或目录 目标文件或目录
mv命令的参数有如下这些:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t :--target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
使用方法:
另外,对于批量重命名文件的话,推荐使用rename命令,具体使用方法:
样例1:目录test下存在两个文件:a_01、a_02,若需要将文件名中的a替换为b,其他部分保持不变,则
(1) 若当前位于test目录下,则执行 rename a b *
(2) 若当前位于test的父目录,则执行 rename a b test/*
基本就是 mv 源文件名 目标文件名
linux命令:用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令如同MS-DOS下的ren 和 move 的组合。
语法:mv[选项]源文件或目录 目标文件或目录。
说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),他将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参加参数可以有很多个,mv命令将个参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
命令中各选项的含义为:
-I:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
-f:禁止交互操作。在mv操作要覆盖某已有的目标文件是不给任何指示,指定此选项后,I选项将不再起作用。
如果所给目标文件(不是目录)已存在,此时该文件的内容将后备新文件覆盖,为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用I选项。
参考资料:http://baike.baidu.com/view/17861.htm
参考技术B vi -- -x或mkdir -- -xmv -- -x x
最后一个x是新文件名
一般情况提示你help获取更多信息
你既然能创建当然也能修改= =
怎么给一个文件重命名 linux
rename的参数rename命令的格式:
rename
[
-v
]
[
-n
]
[
-f
]
perlexpr
[
files
]
第一个参数:被替换掉的字符串
第二个参数:替换成的字符串
第三个参数:匹配要替换的文件模式
例子:rename
main1.c
main.c
main1.c
将main1.c重命名为main.c
rename支持通配符
?
可替代单个字符
*
可替代多个字符
[charset]
可替代charset集中的任意单个字符
例子:文件夹中有这些文件foo1,
...,
foo9,
foo10,
...,
foo278,
如果使用
rename
foo
foo0
foo?
会把foo1到foo9的文件重命名为foo01到foo09,重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0。
如果使用
rename
foo
foo0
foo??
foo01到foo99的所有文件都被重命名为foo001到foo099,只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0。
如果使用
rename
foo
foo0
foo*
foo001到foo278的所有文件都被重命名为foo0001到foo0278,所有以foo开头的文件都被重命名。
如果使用
rename
foo0
foo
foo0[2]*
从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。
rename支持正则表达式
例子:
字母的替换rename
"s/aa/aa/"
*
//把文件名中的aa替换成aa
修改文件的后缀rename
"s//.html//.php/"
*
//把.html
后缀的改成
.php后缀
批量添加文件后缀rename
"s/$//.txt/"
*
//把所有的文件名都以txt结尾
批量删除文件名rename
"s//.txt//"
*
//把所有以.txt结尾的文件名的.txt删掉
也可以参考《linux就该这么学》中的章节内容尝试解决。 参考技术A 虽然Linux没有重命名文件和文件夹的命令,但是还是可以重命名文件的,重命名文件和文件夹是用mv命令,mv命令是移动文件的命令,但它还一个功能就是重命名,重命名的使用格式是:
mv
原来的文件名
新文件名
以上是关于Linux 重命名文件的主要内容,如果未能解决你的问题,请参考以下文章