良许Linux教程网 Linux命令大全 Linux系统重命名文件命令:mv、rename

Linux系统重命名文件命令:mv、rename

如何使用命令修改文件名呢?在 Linux 下可以用 rename 命令,当然还可以使用 mv 命令,今天就在这里为大家分享一下 Linux 系统中重命名文件的操作方法。

其中作者在这里是更喜欢使用 mv 命令来修改文件名的,当前 rename 也可以达到同样的效果,那么这里就为大家分别把两个命令都介绍一下。

1. mv

在这里,大家可以将 mv 理解成英文单词 move ,这样会更好记更好理解一点。在命令行 man 一下 mv ,可以看到对 mv 的介绍 move (rename) files,很简洁明了就是移动或者重命名文件的意思。

语法格式说明:

mv [option] [source] [dest]mv [选项] [源文件] [目标文件] 

说明:mv 命令以及后面的选项和文件,每个元素之间都至少要有一个空格。

选项说明:mv 命令的参数选项及说明)

参数选项 [option] 解释说明
-f 若目标文件已经存在,则不会询问而是直接覆盖
-i 若目标文件已经存在,则会询问是否覆盖
-n 不覆盖已经存在的文件
-t 指定 mv 的目标目录,适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后,和 cp 命令的 -t 选项功能一致
-u 在源文件比目标文件新,或目标文件不存在时才进行移动

使用示例:(给文件改名)

[root@VM-16-64-centos src]$ ll
total 0
-rw-r--r--    1 root     root             0 Nov 11 19:54 1.txt
-rw-r--r--    1 root     root             0 Nov 11 19:54 2.txt
-rw-r--r--    1 root     root             0 Nov 11 19:54 3.txt

[root@VM-16-64-centos src]$ mv /src/1.txt /src/test.txt 
==> 若 test.txt 不存在,则将 1.txt 覆盖为 test.txt。

[root@VM-16-64-centos src]$ ll
total 0
-rw-r--r--    1 root     root             0 Nov 11 19:54 2.txt
-rw-r--r--    1 root     root             0 Nov 11 19:54 3.txt
-rw-r--r--    1 root     root             0 Nov 11 19:54 test.txt

[root@VM-16-64-centos src]$ mv /src/2.txt /src/test.txt
mv: overwrite '/src/test.txt'?  ==> 由于系统默认给 mv 设置了别名,因此会有交互。
==> 所以直接使用 mv 与 'mv -i' 效果是一样的

[root@VM-16-64-centos src]$ alias mv
alias mv='mv -i' ==> -i 参数的功能若是目标文件已经存在,就会询问是否覆盖。

[root@VM-16-64-centos src]$ \mv /src/2.txt /src/test.txt
==> 可以使用 '\' 屏蔽系统别名,就不会询问是否覆盖了。 

2. rename

rename 是正儿八经重命名文件的命令,它通过字符串替换的方式批量修改文件名。

语法格式:

rename from to file 

其中 from、to、file 是三个选项,解释如下:

  • from:代表需要替换或者需要处理的字符(一般是文件名的一部分,也包括扩展名)。
  • to:把前面的 from 代表的内容替换为 to 代表的内容。
  • file:待处理文件,可以用 “ * ” 通配所有的文件。

使用示例:

2.1 批量修改文件名

[root@VM-16-64-centos src]$ ll -h
total 0      
-rw-r--r--    1 root     root           0 Nov 11 19:54 test1.txt
-rw-r--r--    1 root     root           0 Nov 11 21:04 test2.txt
-rw-r--r--    1 root     root           0 Nov 11 19:54 test3.txt
[root@VM-16-64-centos src]$ rename "test" "" *
==> 将所有文件的 test 替换为空。
[root@VM-16-64-centos src]$ ll
total 0
-rw-r--r--    1 root     root             0 Nov 11 19:54 1.txt
-rw-r--r--    1 root     root             0 Nov 11 21:04 2.txt
-rw-r--r--    1 root     root             0 Nov 11 19:54 3.txt

2.2 批量修改扩展名

[root@VM-16-64-centos src]$ ll
total 0
-rw-r--r--    1 root     root             0 Nov 11 19:54 1.txt
-rw-r--r--    1 root     root             0 Nov 11 21:04 2.txt
-rw-r--r--    1 root     root             0 Nov 11 19:54 3.txt
[root@VM-16-64-centos src]$ rename .txt .file *.txt
==> 将所有以 .txt 结尾的文件都替换为以 .file 结尾。
[root@VM-16-64-centos src]$ ll
total 0
-rw-r--r--    1 root     root             0 Nov 11 19:54 1.file
-rw-r--r--    1 root     root             0 Nov 11 21:04 2.file
-rw-r--r--    1 root     root             0 Nov 11 19:54 3.file

以上就是 rename 的使用方法了,其实也是很方便的;本篇文章主要为大家介绍了两种重命名文件的方法,都算是比较常用的一个基础命令。总之,无论是 rename 命令,还是 mv 命令均可以完成文件名称的修改,在使用时多注意参数的不同与用法。

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部