在Linux下重命名文件或目錄,能夠使用mv命令或rename命令,這裏分享下兩者的使用方法。linux
mv命令既能夠重命名,又能夠移動文件或文件夾。spa
例如,將目錄A重命名爲B:字符串
mv A Bio
例如,將/A目錄移動到/B下,並重命名爲C:date
mv /A /B/Cfile
其實在文本模式中要重命名文件或目錄,只須要使用mv命令就能夠了;方法
好比說要將一個名爲abc的文件重命名爲1234:命名
mv abc 1234touch
注意,若是當前目錄下也有個1234的文件的話,這個文件是會將它覆蓋的。分享
Linux系統中另外一個重命名命令 rename命令的用法,用來批量建立那些規格差很少的文件名。
使用語句:
[root@LeeCookiesECS ~]# for i in `seq -w 10`
> do touch stu\_$i\_linux.jpg
> done
此時查看列表,返回的值爲:
[root@LeeCookiesECS ~]# ll
total 43452
drwxr-xr-x 16 501 501 4096 Mar 28 18:24 Python-3.6.5
-rw-r--r-- 1 root root 22994617 Mar 28 18:24 Python-3.6.5.tgz
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_01_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_02_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_03_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_04_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_05_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_06_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_07_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_08_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_09_linux.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_10_linux.jpg
-rw-r--r-- 1 root root 21485301 Apr 19 17:26 train_list.txt
-rw-r--r-- 1 root root 103 Apr 19 17:00 update.txt
輸入:
[root@LeeCookiesECS ~]# rename \_linux ' ' *.jpg
[root@LeeCookiesECS ~]# ll
total 43452
drwxr-xr-x 16 501 501 4096 Mar 28 18:24 Python-3.6.5
-rw-r--r-- 1 root root 22994617 Mar 28 18:24 Python-3.6.5.tgz
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_01.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_02.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_03.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_04.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_05.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_06.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_07.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_08.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_09.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 stu_10.jpg
-rw-r--r-- 1 root root 21485301 Apr 19 17:26 train_list.txt
-rw-r--r-- 1 root root 103 Apr 19 17:00 update.txt
rename的參數:
原字符串:將文件名須要替換的字符串; 目標字符串:將文件名中含有的原字符替換成目標字符串; 文件:指定要改變文件名的文件列表。
例如,將train.txt重命名爲Train.txt使用的命令爲:
[root@LeeCookiesECS ~]# rename train.txt Train.txt train.txt
在rename中,? 可替代單個字符 * 可替代多個字符,[charset] 可替代charset集中的任意單個字符
在列表中,有:
[root@LeeCookiesECS ~]# ll
total 43452
drwxr-xr-x 16 501 501 4096 Mar 28 18:24 Python-3.6.5
-rw-r--r-- 1 root root 22994617 Mar 28 18:24 Python-3.6.5.tgz
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_01.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_02.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_03.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_04.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_05.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_06.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_07.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_08.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_09.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 studio_10.jpg
-rw-r--r-- 1 root root 21485301 Apr 19 17:26 Train.txt
-rw-r--r-- 1 root root 103 Apr 19 17:00 update.txt
批量重命名:
rename studio Std stu*_*.*
查看輸出結果:
[root@LeeCookiesECS ~]# ll
total 43452
drwxr-xr-x 16 501 501 4096 Mar 28 18:24 Python-3.6.5
-rw-r--r-- 1 root root 22994617 Mar 28 18:24 Python-3.6.5.tgz
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_02.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_03.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_04.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_05.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_06.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_07.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_08.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_09.jpg
-rw-r--r-- 1 root root 0 Apr 20 10:23 Std_10.jpg
-rw-r--r-- 1 root root 21485301 Apr 19 17:26 Train.txt
-rw-r--r-- 1 root root 103 Apr 19 17:00 update.txt
通配符的使用的話,只支持將通配符使用在選擇文件中;
給全部的名字添加一個標題,例如:
rename '' \_linux *.png
這樣的話,在每一個文件的名字以前都會有_linux
_linux,在已有的名字以前添加前綴,使用:
[root@LeeCookiesECS ~]# rename '' _Linux_ *.png
[root@LeeCookiesECS ~]# ll
total 43452
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_02.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_03.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_04.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_05.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_06.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_07.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_08.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_09.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux__linux_Std_10.png
drwxr-xr-x 16 501 501 4096 Mar 28 18:24 Python-3.6.5
-rw-r--r-- 1 root root 22994617 Mar 28 18:24 Python-3.6.5.tgz
-rw-r--r-- 1 root root 21485301 Apr 19 17:26 Train.txt
-rw-r--r-- 1 root root 103 Apr 19 17:00 update.txt
字母的替換
例如:
將小寫字母替換成大寫字母:
[root@LeeCookiesECS ~]# ll
total 43452
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_02.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_03.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_04.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_05.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_06.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_07.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_08.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_09.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_Std_10.png
drwxr-xr-x 16 501 501 4096 Mar 28 18:24 Python-3.6.5
-rw-r--r-- 1 root root 22994617 Mar 28 18:24 Python-3.6.5.tgz
-rw-r--r-- 1 root root 21485301 Apr 19 17:26 Train.txt
-rw-r--r-- 1 root root 103 Apr 19 17:00 update.txt
[root@LeeCookiesECS ~]# rename _Std_ _STD_ *_Std_*.png
[root@LeeCookiesECS ~]# ll
total 43452
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_02.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_03.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_04.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_05.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_06.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_07.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_08.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_09.png
-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_10.png
drwxr-xr-x 16 501 501 4096 Mar 28 18:24 Python-3.6.5
-rw-r--r-- 1 root root 22994617 Mar 28 18:24 Python-3.6.5.tgz
-rw-r--r-- 1 root root 21485301 Apr 19 17:26 Train.txt
-rw-r--r-- 1 root root 103 Apr 19 17:00 update.txt修改文件的後綴[root@LeeCookiesECS ~]# rename .jpg .png *.jpg[root@LeeCookiesECS ~]# lltotal 0-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_01_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_02_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_03_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_04_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_05_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_06_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_07_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_08_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_09_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_10_linux.png修改文件名後綴,就至關因而修改文件的字節;批量添加文件的後綴首先,咱們先將文件的後綴去掉:[root@LeeCookiesECS ~]# rename .png '' *.png[root@LeeCookiesECS ~]# lltotal 43452-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_02-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_03-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_04-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_05-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_06-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_07-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_08-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_09-rw-r--r-- 1 root root 0 Apr 20 10:23 _Linux_STD_10drwxr-xr-x 16 501 501 4096 Mar 28 18:24 Python-3.6.5-rw-r--r-- 1 root root 22994617 Mar 28 18:24 Python-3.6.5.tgz-rw-r--r-- 1 root root 21485301 Apr 19 17:26 Train.txt-rw-r--r-- 1 root root 103 Apr 19 17:00 update.txt而後進行添加文件名的後綴:[root@LeeCookiesECS ~]# rename _linux _linux.png *_linux[root@LeeCookiesECS ~]# lltotal 0-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_02_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_03_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_04_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_05_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_06_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_07_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_08_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_09_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_10_linux.png批量刪除文件名[root@LeeCookiesECS ~]# lltotal 0-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_02_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_03_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_04_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_05_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_06_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_07_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_08_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_09_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 _linuxstu_10_linux.png[root@LeeCookiesECS ~]# rename _linux '' _linux*[root@LeeCookiesECS ~]# lltotal 0-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_02_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_03_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_04_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_05_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_06_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_07_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_08_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_09_linux.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_10_linux.png[root@LeeCookiesECS ~]# rename _linux '' _linux*rename: _linux*: rename to * failed: No such file or directory[root@LeeCookiesECS ~]# rename _linux '' *_linux*[root@LeeCookiesECS ~]# lltotal 0-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_02.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_03.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_04.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_05.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_06.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_07.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_08.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_09.png-rw-r--r-- 1 root root 0 Apr 20 12:55 stu_10.png