如何使用 Linux 终端重命名文件和目录
我们可以在 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/' *
它将当前目录中文件名的所有小写字母转换为大写字母。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn