在 Linux 中,我们对文件进行重命名一般都会使用到 mv 命令,这在对单个文件重命名时非常方便。但是,若我们想要对一组文件进行重命名,mv 就有些乏力了,本篇文章为大家分享一下Linux下批量重命名文件具体方法。
在 Linux 中一次重命名多个文件
mmv 程序可在基于 Debian 的系统的默认仓库中使用。 要想在 Debian、Ubuntu、Linux Mint 上安装它,请运行以下命令:
$sudoapt-getinstallmmv
我们假设你在当前目录中有以下文件。
$lsa1.txta2.txta3.txt
现在,你想要将所有以字母 “a” 开头的文件重命名为以 “b” 开头的。 当然,你可以在几秒钟内手动执行此操作。 但是想想你是否有数百个文件想要重命名? 这是一个非常耗时的过程。 这时候 mmv 命令就很有帮助了。
要将所有以字母 “a” 开头的文件重命名为以字母 “b” 开头的,只需要运行:
让我们检查一下文件是否都已经重命名了。
$lsb1.txtb2.txtb3.txt
如你所见,所有以字母 “a” 开头的文件(即 a1.txt、a2.txt、a3.txt)都重命名为 b1.txt、b2.txt、b3.txt。
解释
在上面的例子中,第一个参数(a*)是 “from” 模式,第二个参数是 “to” 模式(b#1)。根据上面的例子,mmv 将查找任何以字母 “a” 开头的文件名,并根据第二个参数重命名匹配的文件,即 “to” 模式。我们可以使用通配符,例如用 *、? 和 [] 来匹配一个或多个任意字符。请注意,你必须转义使用通配符,否则它们将被 shell 扩展,mmv 将无法理解。
“to” 模式中的 #1 是通配符索引。它匹配 “from” 模式中的第一个通配符。 “to” 模式中的 #2 将匹配第二个通配符(如果有的话),依此类推。在我们的例子中,我们只有一个通配符(星号),所以我们写了一个 #1。并且,# 符号也应该被转义。此外,你也可以用引号括起模式。
你甚至可以将具有特定扩展名的所有文件重命名为其他扩展名。例如,要将当前目录中的所有 .txt 文件重命名为 .doc 文件格式,只需运行:
$mmv\*.txt\
这是另一个例子。 我们假设你有以下文件。
$lsabcd1.txtabcd2.txtabcd3.txt
你希望在当前目录下的所有文件中将第一次出现的 “abc” 替换为 “xyz”。 你会怎么做呢?
很简单。
请注意,在上面的示例中,模式被单引号括起来了。
让我们检查下 “abc” 是否实际上被替换为 “xyz”。
$lsxyzd1.txtxyzd2.txtxyzd3.txt
看到没? 文件 abcd1.txt、abcd2.txt 和 abcd3.txt 已经重命名为 xyzd1.txt、xyzd2.txt 和 xyzd3.txt。
mmv 命令的另一个值得注意的功能是你可以使用 -n 选项打印输出而不是重命名文件,如下所示。
$mmv-na\*b\
这样,你可以在重命名文件之前简单地验证 mmv 命令实际执行的操作。
有关更多详细信息,请参阅 man 页面。
更新:Thunar 文件管理器
Thunar 文件管理器默认具有内置批量重命名选项。 如果你正在使用 Thunar,那么重命名文件要比使用 mmv 命令容易得多。
Thunar 在大多数 Linux 发行版的默认仓库库中都可用。
要在基于 Arch 的系统上安装它,请运行:
$sudopacman-Sthunar
在 RHEL、CentOS 上:
$sudoyuminstallthunar
在 Fedora 上:
$sudodnfinstallthunar

在 OpenSUSE 上:
$sudozypperinstallthunar
在 Debian、Ubuntu、Linux Mint 上:
$sudoapt-getinstallthunar
安装后,你可以从菜单或应用程序启动器中启动批量重命名程序。 要从终端启动它,请使用以下命令:
批量重命名方式如下。
单击“+”,然后选择要重命名的文件列表。 批量重命名可以重命名文件的名称、文件的后缀或者同时重命名文件的名称和后缀。 Thunar 目前支持以下批量重命名:
当你从选项列表中选择其中一个条件时,你将在“新名称”列中看到更改的预览,如下面的屏幕截图所示。
选择条件后,单击“重命名文件”选项来重命名文件。
你还可以通过选择两个或更多文件从 Thunar 中打开批量重命名器。 选择文件后,按 F2 或右键单击并选择“重命名”。
谁能帮我详细解释下LINUX下的./config命令
“/”表示标记。 cp命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。 语法: cp [选项] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。 该命令的各选项含义如下: - a 该选项通常在拷贝目录时使用。 它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。 - d 拷贝时保留链接。 - f 删除已经存在的目标文件而不提示。 - i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。 回答y时目标文件将被覆盖,是交互式拷贝。 - p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 - r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。 此时目标文件必须为一个目录名。 - l 不作拷贝,只是链接文件。 需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。 mv命令 用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。 该命令如同MSDOS下的ren和move的组合。 语法:mv [选项] 源文件或目录 目标文件或目录 说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。 在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。 命令中各选项的含义为: - I 交互方式操作。 如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。 - f 禁止交互操作。 在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。 如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。 为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。 rm命令 用户可以用rm命令删除不需要的文件。 该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。 对于链接文件,只是断开了链接,原文件保持不变。 rm命令的一般形式为: rm [选项] 文件… 如果没有使用- r选项,则rm不会删除目录。 该命令的各选项含义如下: - f 忽略不存在的文件,从不给出提示。 - r 指示rm将参数中列出的全部目录和子目录均递归地删除。 - i 进行交互式删除。 使用rm命令要小心。 因为一旦文件被删除,它是不能被恢复的。 了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。 如果用户输入y,文件将被删除。 如果输入任何其他东西,文件则不会删除。 Linux目录的创建与删除命令 mkdir命令 功能:创建一个目录(类似MSDOS下的md命令)。 语法:mkdir [选项] dir-name 说明:该命令创建由dir-name命名的目录。 要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。 命令中各选项的含义为: - m 对新建目录设置存取权限。 也可以用chmod命令设置。 - p 可以是一个路径名称。 此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。 rmdir 命令 功能:删除空目录。 语法:rmdir [选项] dir-name 说明:dir-name表示目录名。 该命令从一个目录中删除一个或多个子目录项。 需要 特别注意的是,一个目录被删除之前必须是空的。 rm - r dir命令可代替 rmdir,但是有危险性。 删除某目录时也必须具有对父目录的写权限。 命令中各选项的含义为: - p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。 如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应 的信息。 cd 命令 功能:改变工作目录。 语法:cd [directory] 说明:该命令将当前目录改变至directory所指定的目录。 若没有指定directory, 则回到用户的主目录。 为了改变到指定目录,用户必须拥有对指定目录的执行和读 权限。 该命令可以使用通配符(通配符含义请参见第十章)。 pwd 命令 在Linux层次目录结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。 然而,没有提示符来告知用 户目前处于哪一个目录中。 要想知道当前所处的目录,可以使用pwd命令,该命令显示整个路径名。 语法:pwd 说明:此命令显示出当前工作目录的绝对路径。 ls 命令 ls是英文单词list的简写,其功能为列出目录的内容。 这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。 该命令类似于DOS下的dir命令。 语法:ls [选项] [目录或是文件] 对于每个目录,该命令将列出其中的所有子目录与文件。 对于每个文件,ls将输出 其文件名以及所要求的其他信息。 默认情况下,输出条目按字母顺序排序。 当未给出目录名或是文件名时,就显示当前目录的信息。 命令中各选项的含义如下: - a 显示指定目录下所有子目录与文件,包括隐藏文件。 - A 显示指定目录下所有子目录与文件,包括隐藏文件。 但不列出“.”和 “..”。 - b 对文件名中的不可显示字符用八进制逃逸字符显示。 - c 按文件的修改时间排序。 - C 分成多列显示各项。 - d 如果参数是目录,只显示其名称而不显示其下的各文件。 往往与l选项一起使 用,以得到目录的详细信息。 - f 不排序。 该选项将使LTS选项失效,并使aU选项有效。 - F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。 - i 在输出的第一列显示文件的i节点号。 - l 以长格式来显示文件的详细信息。 这个选项最常用。 每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字 对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。 对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。 目录中的总块数显示在长格式列表的开头,其中包含间接块。 - L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。 - m 输出按字符流格式,文件跨页显示,以逗号分开。 - n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。 - o 与l选项相同,只是不显示拥有者信息。 - p 在目录后面加一个“/”。 - q 将文件名中的不可显示字符用“?”代替。 - r 按字母逆序或最早优先的顺序显示输出结果。 - R 递归式地显示指定目录的各个子目录中的文件。 - s 给出每个目录项所用的块数,包括间接块。 - t 显示时按修改时间(最近优先)而不是按名字排序。 若文件修改时间相同,则 按字典顺序。 修改时间取决于是否使用了c或u选顶。 缺省的时间标记是最后一次修 改时间。 - u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。 即将-t的时间 标记修改为最后一次访问的时间。 - x 按行显示出各排序项的信息。 用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
linux中,怎样修改文件名?
没有专门的重命名 命令用 mv a b 就可以重命名了=========================================mv :move 移动文件(延伸功能:重命名,linux系统没有专门的重命名命令) 基本格式:移动文件:mv 文件名 移动目的地文件名重命名文件:mv 文件名 修改后的文件名
如何重命批量名文本文档?
要改名字文件一次选中,然后选择重命名输入“中国上下五千年”回车就行了
发表评论