如何在 Linux 中重命名文件

Linux 文件重命名方法详解 (2024版)

初次接触新事物时,即使是再基础的操作也可能让人感到困惑,这对于任何人来说都是正常的。例如,文件重命名是文件管理的基本操作之一,但对于Linux新手而言,在Linux系统中重命名单个或批量文件可能会遇到一些挑战。为了帮助大家克服这些难题,本文将详细介绍四种在Linux中重命名文件,甚至是批量重命名文件的方法,包括命令行界面(CLI)和图形用户界面(GUI)两种途径。

Linux 文件重命名策略

我们将首先介绍如何使用mvrename命令在Linux命令行(或终端)中重命名文件。然后,我们将探讨如何使用GUI工具,包括GPRename和Linux发行版自带的文件管理器,进行文件重命名或批量重命名操作。

命令行方式重命名

虽然一开始使用命令行执行简单任务可能会让人望而生畏,但它功能强大,是Linux系统中快速重命名文件的高效方式。以下,我们将介绍mvrename这两个命令,它们在任何Linux发行版中都可用。

使用 mv 命令重命名文件

mv命令代表“移动”,其主要功能是在Linux文件系统中移动文件和目录。然而,我们也可以利用mv命令来重命名文件。mv命令的基本语法如下:

mv [选项] <源文件> <目标文件>

一些常用选项包括:

  • -b:备份每个已存在的目标文件。
  • -f:强制执行命令,覆盖现有文件时不提示。
  • -i:在覆盖文件前进行提示。
  • -u:仅当源文件比目标文件新时才进行移动。
  • -v:显示当前操作的详细信息。

注意:如果多次使用-i-f-n标志中的任何一个,则只有最后一个生效。

使用 mv 命令重命名单个文件

要使用mv命令重命名单个文件,可以使用以下语法:

mv -v <旧文件名> <新文件名>

该命令执行后会输出确认信息,你可以使用ls命令来验证更改。

重命名为“<old_file_name>” -> “<new_file_name>”

例如,我们使用mv命令将文件 “mini-course-10.pdf” 重命名为 “test-1.pdf”。对应的命令如下:

mv -v mini-course-10.pdf test-1.pdf

之后,你可以通过mv命令的输出(如上图所示)或使用ls命令来进一步验证更改。你会在目录的文件列表中看到重命名的文件。

使用 mv 命令重命名多个文件

mv命令还可以用于批量重命名目录中的多个文件,并进行一些修改。 结合其他命令可以实现更复杂的操作。例如:

for i in *.pdf; do
    mv -v "$i" "${i/old_part/new_part}"
done

上述代码片段首先遍历当前目录下所有以.pdf为后缀的文件。然后,它会使用替换文本替换每个文件名的特定部分。最后,当所有文件都被重命名后,它会停止执行。

使用 rename 命令重命名文件

rename命令通过简单直观的语法,解决了mv命令的复杂性,适用于单个和多个文件的重命名操作。大多数发行版通常预装了rename命令。如果没有,你可以使用以下命令进行安装:

  • 基于Debian的系统:

    sudo apt install rename

  • 基于Fedora的系统:

    sudo yum install prename

  • 基于Arch的系统:

    sudo pacman -S rename

在基于Debian的系统中,rename命令的语法如下:

rename [选项] 's/<旧名称>/<新名称>/' <文件名>

由于rename命令在后台使用Perl,所以有匹配、替换和翻译三种类型的正则表达式。rename命令主要使用“替换”和“翻译”正则表达式。在上面的语法中,“s”用于指定你将使用替换表达式。

对于基于RedHat、Fedora的系统,你需要使用以下命令语法:

rename [选项] <旧名称> <新名称> <文件名>

rename命令的一些常用选项包括:

  • -v:显示当前操作的信息。
  • -n:表示“无操作”,用于测试操作后文件将如何受到影响。
  • -f:强制覆盖文件名。

重命名单个文件

在重命名单个文件时,rename命令的工作方式类似于mv命令。要重命名单个文件,可以使用以下语法:

rename -v 's/<原始名称>/<新名称>/' <文件名>

重命名多个文件

在重命名多个文件时,rename命令相对于mv命令的主要优势开始体现出来。它的语法更简单,使用起来更快捷,格式如下:

rename [选项] 's/<旧名称>/<新名称>/' <要重命名的文件>

上述语法与我们用于重命名单个文件的语法类似,只是在 <要重命名的文件> 部分,你可以使用通配符的通用模式来识别目录中的所有文件。

部分重命名文件

假设你所有文件名中都使用了空格,现在你想把这些空格替换为下划线。你可以使用rename命令,并采用如下所示的语法将空格转换为下划线:

rename -v 'y/<原部分>/<替换部分>/' <要重命名的文件>

此处,将需要替换的部分放在 <原部分> 中,在<替换部分>中写上要替换 <原部分> 的样式。 “y” 用于表示你正在使用“翻译”正则表达式。

对于上述情况,用下划线替换空格,可以使用以下命令:

rename -v 'y/ /_/' <要重命名的文件>

在这里,使用反斜杠 \ 用于将下划线视为字符而不是命令语法的一部分。

更改文件名的大小写

使用rename命令,你甚至可以用相应的大写字符替换小写字符,反之亦然。要用大写字符替换小写字符,请使用以下语法:

rename 'y/az/AZ/' <要替换的文件>

要用小写字符替换大写字符,请使用以下语法:

rename 'y/AZ/az/' <要替换的文件>

图形界面方式重命名文件

对于那些觉得命令行令人生畏的用户来说,GUI方法可能是一个福音。在GUI方法中,我们使用Ubuntu 20.04 LTS中的Nautilus文件管理器和Pyrenamer,但请放心,这些方法适用于任何发行版,尽管在某些发行版中可能需要稍作修改。

使用文件管理器重命名文件

这是在Linux中重命名文件的最简单方法之一。每个Linux桌面发行版都预装了一个文件管理器,例如Nautilus、Dolphin、Thunar等。我们已经解释了如何使用这些文件管理器来重命名文件,所以请继续阅读。

重命名单个文件

1. 打开你选择的文件管理器,并导航到要重命名的文件。选择文件并右键单击它。

2. 从右键单击菜单中选择“重命名”选项。或者,在不使用鼠标的情况下,按键盘上的F2按钮重命名文件。

3. 然后,输入文件的新名称并单击“重命名”或按键盘上的Enter键。就是这样。

使用文件管理器重命名多个文件

1. 按住Shift键选择多个要重命名的文件,然后右键单击所选文件以打开上下文菜单。

2. 在此上下文菜单中,选择“重命名”选项。或者,你可以按键盘上的F2按钮访问重命名选项。

3. 这将打开一个新的重命名窗口,如下所示。在这里,你有两个重命名文件的选项,让我们一一学习如何使用它们。

使用模板重命名:

1. 在此选项中,你将看到一个文本框,默认值为[原始文件名]。在文本框中,输入将用于所有文件的通用名称。

2. 我们在这里使用“test_”作为通用文件名。接下来,单击通用名称旁边的“+添加”,然后选择要用作每个文件的唯一区分符的自动编号方案。

3. 然后,从“自动编号顺序”下拉菜单中选择文件的命名顺序。你可以选择升序、降序等。

4. 验证底部窗格中的更改,最后单击右上角的“重命名”。

查找和替换文本:

当你的文件名已包含通用名称,但你需要用新文本替换它时,你可以使用此选项。它的工作方式如下:

1. 在“现有文本”字段中输入当前的通用名称。在底部窗格中,你会看到常用名称突出显示。

2. 在“替换为”文本框中,输入要替换当前名称的新通用名称。

3. 验证底部窗格中的更改,并单击右上角的“重命名”以应用更改。

使用 GPRename 重命名文件

GPRename是一个轻量级的批量重命名工具,它带有几个不同的选项,这些选项在使用Linux GUI重命名文件时非常有用。对于那些发现难以使用本地文件管理器批量重命名文件的用户,这个工具可能会有所帮助。遗憾的是,它没有预装,但可以使用以下命令轻松安装:

  • 对于基于Debian的系统:

    sudo apt update && sudo apt install gprename

  • 对于基于Fedora的系统:

    sudo dnf install gprename

  • 对于基于Arch的系统:

    sudo pacman -S gprename

使用GPRename重命名单个文件

1. 从“应用程序”菜单打开GPRename或在Linux终端中键入gprename

2. 使用左侧的文件系统树导航到所需的文件夹。然后,在右窗格中选择要重命名的文件。

3. 在底部窗格中,选择你要执行的操作。例如,如果你想用另一个词替换文件名中的一个词,请转到“替换/删除”选项卡。接下来,在“替换”文本框中输入要替换的字符串,在“替换为”文本框中输入新字符串。

4. 使用右侧的“预览”按钮验证更改。满意后,单击其下方的“重命名”按钮。

使用 GPRename 重命名多个文件

1. 如上所述,使用左侧的文件系统树导航到所需的文件夹。然后,选择要重命名的文件,并从底部窗格中选择适当的选项。

2. 要验证更改,请单击右侧的“预览”按钮,最后单击其下方的“重命名”按钮。

常见问题解答

rm命令在Linux中有什么作用?

尽管rm命令看起来像是重命名的首字母缩写,但它代表删除(remove),用于删除Linux中的文件和文件夹。

在 Linux 中轻松重命名文件

对于初学者来说,理解Linux文件管理的细微之处非常重要,重命名文件是你可能会经常需要进行的操作。在本指南中,我们介绍了四种方法(两种CLI和两种GUI)来重命名目录中的单个和多个文件。虽然文件管理器可能是大多数Linux用户的首选,但上面解释的mvrename命令也广泛用于通过终端重命名文件。你更喜欢哪种方法在Linux中重命名文件呢?请在评论区告诉我们。