HOWTO · Linux

如何使用 Linux 终端重命名文件和目录

我们可以在 Linux 终端中使用 rename 和 mv 命令重命名文件和目录。

本页内容

我们可以在 Linux 终端中使用 rename 和 mv 命令重命名文件和目录。mv 命令一次只能重命名一个文件,但 rename 命令可以同时重命名多个文件。

使用 mv 命令重命名文件和目录

mv 命令可以重命名文件和目录。它也用于将文件和目录从一个位置移动到另一个位置。

mv 命令的语法

mv [OPTIONS] source destination

source 可以是一个或多个文件或目录,destination 总是一个文件或目录。

如果我们有多个文件或目录作为源文件,目标总是目录。在这种情况下,所有的源文件和目录都会被移动到目标目录中。

如果我们把一个文件作为源文件,把一个目录作为目标目录,源文件被移动到目标目录。

要使用 mv 重命名一个文件,mv 命令中的源参数和目标参数都必须是文件。

mv helloworld.py main.py

它将文件 helloworld.py 重命名为 main.py。

我们也可以同样地重命名目录。

mv Programs Python-Programs

它将 Programs 目录重命名为 Python-Programs。

用 mv 命令重命名多个文件

我们知道,mv 命令一次只能重命名一个文件。我们可以使用 for 或 while 循环来重命名多个文件。

for f in *.png; do 
    mv -- "$f" "${f%.png}.jpg"
done

它将当前目录中所有扩展名为 .png 的文件重命名为 .jpg。

使用 rename 命令重命名文件和目录

rename 命令比 mv 命令稍微高级一些,可以一步到位地重命名多个文件。

要在 Ubuntu 和 Debian 安装 Perl 版本的 rename 命令,请使用命令。

sudo apt install rename

要在 CentOS 和 Fedora 中安装 Perl 版本的 rename 命令,使用命令。

sudo yum install prename

要在 Arch Linux 中安装 Perl 版本的 rename 命令,请使用该命令。

yay perl-rename ## or yaourt -S perl-rename

rename 命令的语法

rename [options] 's/old/new/' files

示例:使用 rename 命令重命名文件

rename 's/.png/.jpg/' *.png

它将当前目录下的所有 .png 文件重命名为 .jpg。

要打印重命名的文件名,我们使用 rename 命令中的 -v 选项。

rename -v 's/.jpg/.png/' *.jpg

输出:

1.jpg renamed as 1.png
bubbleheads.jpg renamed as bubbleheads.png
demo.jpg renamed as demo.png
hiss.jpg renamed as hiss.png
invoice.jpg renamed as invoice.png

它将当前目录下的所有 .jpg 文件重命名为 .png,并在终端打印每个重命名的文件。

示例:将文件名转换为小写

rename 'y/A-Z/a-z/' *

它将当前目录中所有大写字母的文件名转换为小写字母。

示例:将文件名转换为大写

rename 'y/a-z/A-Z/' *

它将当前目录中文件名的所有小写字母转换为大写字母。