使用命令mv既可以重命名,又可以移动文件或文件夹.例如:
1、将目录A重命名为B
mv A B
2、将/a目录移动到/b下,并重命名为c
mv /a /b/c
3、将一个名为abc的文件重命名为1234
mv abc 1234 注意:如果当前目录下也有个1234的文件的话,我们的这个文件是会将它覆盖
使用命令mv既可以重命名,又可以移动文件或文件夹.例如:
1、将目录A重命名为B
mv A B
2、将/a目录移动到/b下,并重命名为c
mv /a /b/c
3、将一个名为abc的文件重命名为1234
mv abc 1234 注意:如果当前目录下也有个1234的文件的话,我们的这个文件是会将它覆盖
转载于:https://www.cnblogs.com/kingsonfu/p/9778295.html
mv命令既可以重命名,又可以移动文件或文件夹。
例子:将目录A重命名为B
mv A B例子:将/a目录移动到/b下,并重命名为c
mv /a /b/c其实在文本模式中要重命名文件或目录,只需要使用mv命令就可以了,比如说要将一个名为abc的文件重命名为1234:
mv abc 1234注意,如果当前目录下也有个1234的文件的话,这个文件是会将它覆盖的。
转载于:https://www.cnblogs.com/ryanzheng/p/8917365.html
mv命令作用
1.对文件或目录重新命名,
2.或者将文件从一个目录移到另一个目录中。
source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
实例:
mv ex3 new1 # ex3重命名为 new1 mv /usr/men/* . #将目录/usr/men中的所有文件移到当前目录(用.表示)中
参数说明:
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份; -b:当文件存在时,覆盖前,为其创建一个备份; -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录; -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。 --strip-trailing-slashes:删除源文件中的斜杠“/”; -S<后缀>:为备份文件指定后缀,而不使用默认的后缀; --target-directory=<目录>:指定源文件要移动到目标目录; -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
Linux文件重命名有两种方式:mv和rename
一、mv
mv srcFile destFile
mv一次只能重命名一个文件,而且,它是移动命令。如果destFile已经存在的话,会直接装原文件覆盖,从而造成文件的丢失。
二、rename
rename arg1 arg2 arg3
rename才是真正的批量重命名命令。而且他是3个参数,不是2个。
arg1:旧的字符串
arg2:新的字符串
arg3:匹配要重命名的文件,可以使用3种通配符,*、?、[char],*表示任意多个字符,?表示单个字符,
[char]匹配char单个自定的精确字符,可以填写任意字符,foo[a]*表示只匹配fooa开头的文件名,如果
一个文件是foobcc.txt,是不会被匹配的。但此命令在不同的linux版本也有不同,CentOS等用法:
比如/home下有两个文件 abbcc.txt, addbb.txt , a.txt
我想把a替换为xxx,命令是这样的 : rename “a” “xxx” *.txt
那么它会首先去匹配有哪些文件需要修改,这里凡是.txt后缀的文件都会被匹配,如果改成?.txt则只会匹配到一个文件,那就是a.txt。
然后把匹配到的文件中的a字符替换为xxx,注意测试时abab.txt这样的,只会替换第一个a,有待再了解。说到Debian一系的操作系统,比如Ubuntu,这个命令这样使用是不对的,报错,向下面这样的:
Bareword “a” not allowed while “strict subs” in use at (eval 1) line 1.
经过Google之后发现有这样的说法:
On Debian-based distros it takes a perl expression and a list of files. you need to would need to use:
rename ‘s/foo/foox/’ *这里是一个perl表达式,好理解点说就是综合了前两个参数为1个,这样就只需要2个参数,而非上面所说的3个参数形式。
所以在Ubuntu下执行上面举例的重命名时,命令是这样的:rename ‘s/a/xxx/’ *.txt
【错误】:显示substitution replacement not terminated at (user-supplied code)
原:rename 's/\.txt/\.c' *.txt
【原因】:格式不对,少打一个/
【解决方法】:rename 's/\.txt/\.c/' *.txt