Linux中的刪除和重命名


在Linux下重命名文件或目錄,可以使用mv命令或rename命令,這里分享下二者的使用方法。

mv命令既可以重命名,又可以移動文件或文件夾。

例如:

1、使用mv來實現重命名功能:

將目錄A重命名為B:

mv A B

其實在文本模式中要重命名文件或目錄,只需要使用mv命令就可以了;

比如說要將一個名為abc的文件重命名為1234:

mv abc 1234

注意,如果當前目錄下也有個1234的文件的話,這個文件是會將它覆蓋的。

 

2、使用mv來實現移動功能:

 

將/A目錄移動到/B下,並重命名為C:

 

mv /A /B/C

 

Linux系統中另一個重命名命令 rename命令的用法,用來批量創建那些規格差不多的文件名。

使用語句:

[root@LeeCookiesECS ~]#  for i in `seq -w 10`
> do touch stu\_$i\_linux.jpg
> done
//用來在當前目錄下創建10個jpg文件,命名格式是std_{序列號}_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_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 ~]# ll
total 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 ~]# ll
total 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_10
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 _linux _linux.png *_linux
[root@LeeCookiesECS ~]# ll
total 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 ~]# ll
total 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 ~]# ll
total 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 ~]# ll
total 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM