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/' *

它將當前目錄中檔名的所有小寫字母轉換為大寫字母。