Linux中的删除和重命名

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

mv命令既可以重命名,又可以移动文件或文件夹。

例如,将目录A重命名为B:

mv A B

例如,将/A目录移动到/B下,并重命名为C:

mv /A /B/C

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

比如说要将一个名为abc的文件重命名为1234:

mv abc 1234

注意,如果当前目录下也有个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 ~]# 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

转载于:https://www.cnblogs.com/LeeCookies/p/8889644.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值