无论你是使用命令行还是 GUI,重命名文件都是一个非常常见的操作。
与 GUI(即图形用户界面)相比,CLI 的功能特别强大。这部分是因为你可以批量重命名文件,甚至可以安排脚本在某个时间点重命名文件。
在本教程中,你将看到如何在 Linux 命令行中使用内置的 mv
命令重命名文件。
如何使用 Linux mv 命令
你可以使用内置的 Linux 命令 mv
来重命名文件。
mv 命令遵循以下语法:
mv [options] source_file destination_file
下面是一些可以在 mv
命令中派上用场的选项:
-v
,--verbose
:解释正在做什么-i
,--interactive
:在重命名文件之前进行提示
比方说,你想把 index.html
重命名为 web_page.html
,你可以这样使用 mv
命令:
bunian@bunian:~/rename-files$ mv index.html web_page.html
让我们列出文件,看看文件是否被重命名了:
bunian@bunian:~/rename-files$ ls
web_page.html
如何使用 mv 批量命名文件
让我们来讨论一个脚本,你可以使用循环和 mv
命令来批量重命名文件。
这里我们有一个扩展名为 .js
的文件列表。
bunian@bunian:~/rename-files$ ls -lrt
total 0
-rw-r--r-- 1 bunian bunian 0 Sep 30 00:24 index.js
-rw-r--r-- 1 bunian bunian 0 Sep 30 00:24 config.js
-rw-r--r-- 1 bunian bunian 0 Sep 30 00:24 blog.js
接下来,你要把它们转换为 .html
。
你可以使用下面的命令来重命名该文件夹中的所有文件:
for f in *.js; do mv -- "$f" "${f%.js}.html"; done
让我们来分解这个长字符串,看看在后台发生了什么。
- 第一部分
for f in *.js
告诉for
循环要处理目录中的每个 “.js” 文件。 - 下一部分
do mv -- "$f" "${f%.js}.html
规定了处理的内容。它是用mv
来重命名每个文件。新文件将以原文件的名称命名,不包括.js
部分。将附加一个新的扩展名.html
。 - 最后一部分
done
只是在所有文件都被处理后结束循环。
bunian@bunian:~/rename-files$ ls -lrt
total 0
-rw-r--r-- 1 bunian bunian 0 Sep 30 00:24 index.html
-rw-r--r-- 1 bunian bunian 0 Sep 30 00:24 config.html
-rw-r--r-- 1 bunian bunian 0 Sep 30 00:24 blog.html
小结
正如你所看到的,使用 CLI 重命名文件是非常容易的。在脚本中部署时,它可以非常强大。
转载请注明:IT运维空间 » linux » 如何在 Linux 中重命名一个文件?
发表评论