今天扣丁学堂小编给大家介绍一下关于在Linux下重命名文件或目录,可以使用mv命令或rename命令如何操作,下面我们一起来看一下吧,首先这里分享下二者的使用方法,mv命令既可以重命名,又可以移动文件或文件夹。
扣丁学堂浅谈Linux下重命名文件或文件夹mv命令与rename命令
例子:将目录A重命名为B
mvAB
例子:将/a目录移动到/b下,并重命名为c
mv/a/b/c
其实在文本模式中要重命名文件或目录,只需要使用mv命令就可以了,比如说要将一个名为abc的文件重命名为1234:
mvabc1234
注意,如果当前目录下也有个1234的文件的话,这个文件是会将它覆盖的。
下面介绍Linux系统中另一个重命名命令rename命令的用法。
批量创建那些规格差不多的文件名。【测试的第一步】
[root@linuxidcnet]#foriin`seq-w10`
>dotouchstu\_$i\_linux.jpg
>done
[root@linuxidcnet]#sl
total0
-rw-r--r--1rootroot0Oct921:22stu_01_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_02_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_03_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_04_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_05_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_06_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_07_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_08_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_09_linux.jpg
-rw-r--r--1rootroot0Oct921:22stu_10_linux.jpg
然后,使用rename进行修改
[root@linuxidcnet]#rename\_linux''*.jpg
[root@linuxidcnet]#sl
total0
-rw-r--r--1rootroot0Oct921:22stu_01.jpg
-rw-r--r--1rootroot0Oct921:22stu_02.jpg
-rw-r--r--1rootroot0Oct921:22stu_03.jpg
-rw-r--r--1rootroot0Oct921:22stu_04.jpg
-rw-r--r--1rootroot0Oct921:22stu_05.jpg
-rw-r--r--1rootroot0Oct921:22stu_06.jpg
-rw-r--r--1rootroot0Oct921:22stu_07.jpg
-rw-r--r--1rootroot0Oct921:22stu_08.jpg
-rw-r--r--1rootroot0Oct921:22stu_09.jpg
-rw-r--r--1rootroot0Oct921:22stu_10.jpg
注意,如果想要替换掉下划线,那么你不能加任何引号。
创建一些测试文件:
[root@linuxidcnet]#foriin`seq-w10`;dotouchstu\_$i\_linux.jpg;done
[root@linuxidcnet]#sl
total0
-rw-r--r--1rootroot0Oct921:58stu_01_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_02_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_03_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_04_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_05_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_06_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_07_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_08_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_09_linux.jpg
-rw-r--r--1rootroot0Oct921:58stu_10_linux.jpg
[root@linuxidcnet]#rename'\_linux'''*.jpg
[root@linuxidcnet]#sl
total0
-rw-r--r--1rootroot0Oct921:27stu_01_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_02_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_03_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_04_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_05_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_06_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_07_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_08_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_09_linux.jpg
-rw-r--r--1rootroot0Oct921:27stu_10_linux.jpg
rename版本如果是perl版本的,那rename命令是支持正则的;因此在perl版本的rename下,执行上述命令就可以成功,如果rename版本是c版本的,那么上述命令是不成功的。
这个是版本支持的问题,所以不必深究。有关二个版本的比较,请参考:linux下rename命令批量重命名中的详细介绍。
之前的问题可能是因为他的rename版本不支持导致的。so,这里重点说的就是rename,虽然这个命令不是很重要。但是它其实还是很有用的,不是吗?
当然,有人会说,你这个都是在一个目录下,那我要是在不同的目录下呢?
用两个命令。一个find先把要修改的文件找出来,再接一个管道,一个rename不就完了吗?
是的,上述办法可以说是一种思路,其实有很多种思路。
附,查看rename版本的信息
[root@linuxidcnet]#manrename|head-1
RENAME(1)LinuxProgrammer’sManualRENAME(1)
以上就是关于Linux下重命名文件或文件夹(mv命令与rename命令)的详细介绍。