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