自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

終端基礎(chǔ):在 Linux 中重命名文件和目錄

系統(tǒng) Linux
在這篇基本命令行教程中,你將學(xué)習(xí)在 Linux 終端重命名文件和目錄的各種方法。

如何在 Linux 終端中重命名文件和目錄?你可以使用 mv 命令。

是的,與用于將文件和文件夾從一個(gè)位置“移動(dòng)”到另一個(gè)位置的 mv 命令相同。

你可以在“移動(dòng)文件和目錄”時(shí)簡單地指定文件和目錄的新名稱。

要重命名文件,請(qǐng)使用:

mv old_file new_file

同樣,要重命名目錄,請(qǐng)使用:

mv old_dir new_dir

聽起來很容易,對(duì)吧? 但我將在這里詳細(xì)討論文件重命名:

  • 向你展示重命名的實(shí)際示例
  • 顯示通過結(jié)合 find 和 exec 命令批量重命名多個(gè)文件的示例
  • 討論用于批量重命名文件的專用程序

我們來一一看看。

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

使用 mv 命令重命名同一目錄中的文件:

mv file1.txt file2.txt

同樣,你可以重命名同一位置的目錄:

mv dir1 dir2

這是我重命名文件和目錄的示例:

如你所見,與 cp 命令 不同,你不必使用遞歸選項(xiàng)來通過 mv 命令 處理目錄。

?? 如果你嘗試使用相同的名稱重命名該文件,你會(huì)看到一個(gè)錯(cuò)誤(顯然)。

你還可以在將文件移動(dòng)到另一個(gè)位置時(shí)重命名它:

mv old-file-name another_dir/new-file-name

在下面的示例中,我將名為 firefox-quiz.txt 的文件移動(dòng)到示例目錄。在這樣做的同時(shí),我將其重命名為 quiz.txt。

我將其視為剪切粘貼操作。

?? 雖然你可以將多個(gè)文件移動(dòng)到另一個(gè)位置(mv file1 file2 file2 dir),但你不能使用 mv 重命名多個(gè)文件。為此,你必須采用我在以下部分中討論的其他策略。

通過組合 mv、find 和 exec 命令重命名與某個(gè)模式匹配的多個(gè)文件

?? 批量重命名此類文件時(shí)要格外小心。一步錯(cuò)誤的舉動(dòng)就會(huì)導(dǎo)致無法挽回的不良結(jié)果。

find 命令用于根據(jù)文件名、類型、修改時(shí)間和其他參數(shù)在給定目錄中查找文件。exec 命令與 find 結(jié)合使用,對(duì) find 命令的結(jié)果執(zhí)行命令。

使用 find、exec 和 mv 命令沒有固定標(biāo)準(zhǔn)的結(jié)構(gòu)。你可以根據(jù)需要組合它們。

假設(shè)你想通過在名稱中添加 _old 來重命名當(dāng)前目錄中以 .txt 結(jié)尾的所有文件。所以 file_1.txt 變成 file_1.txt_old 等等。

find . -type f -name "*.txt" -exec mv {} {}_old ;

這只是一個(gè)示例,你的重命名要求可能會(huì)有所不同。另外,以上僅適用于不帶空格的文件名。

專業(yè)提示:在處理這樣的批量操作時(shí),你可以巧妙地使用 echo 命令來查看將執(zhí)行什么操作,而不是實(shí)際執(zhí)行它。如果看起來不錯(cuò),那就采取實(shí)際行動(dòng)吧。

例如,首先查看哪些文件將被重命名:

find . -type f -name "*.txt" -exec echo mv {} {}_old \;

如你所見,實(shí)際上沒有重命名任何文件。但是,如果你在沒有使用回顯(echo)命令的情況下運(yùn)行上述命令,你將看到將執(zhí)行什么命令。

如果你覺得沒問題,請(qǐng)刪除 echo 命令并繼續(xù)進(jìn)行實(shí)際的重命名。

find . -type f -name "*.txt" -exec mv {} {}_old \;

我在 《Efficient Linux 命令行》一書中學(xué)到了這個(gè)技巧。一本充滿了這樣的小寶石的優(yōu)秀書。難怪它已成為 我最喜歡的 Linux 書籍之一。

使用 rename 命令輕松重命名多個(gè)文件

有一個(gè)名為 rename 的便捷命令行程序,可用于根據(jù)給定的 Perl 正則表達(dá)式模式批量重命名文件。

該實(shí)用程序不是 GNU 工具鏈的一部分,也不是預(yù)安裝的。因此,你必須首先使用發(fā)行版的包管理器來安裝它。

對(duì)于 Debian/Ubuntu,命令為:

sudo apt install rename

你可以通過以下方式使用它:

rename [options] perl_regex [files]

選項(xiàng)有:

  • -v : 詳細(xì)模式
  • -n :無操作,顯示將被重命名的文件,但不重命名它們
  • -o : 不覆蓋
  • -f : 強(qiáng)制覆蓋現(xiàn)有文件
  • -s : 不重命名軟鏈接,只重命名其目標(biāo)

現(xiàn)在,讓我們采用你在上一節(jié)中看到的相同示例。將 *.txt 重命名為 .txt_old。

rename 's/\.txt$/.txt_old/' **

我不打算在這里解釋正則表達(dá)式。** 表示查看所有子目錄中的所有文件。

正如你所看到的,它按預(yù)期工作。

總結(jié)

我希望你喜歡這個(gè)技巧,它可以幫助你學(xué)習(xí)在 Linux 命令行中執(zhí)行基本任務(wù)。當(dāng)然是針對(duì)那些想學(xué)習(xí)和使用命令行的人。桌面用戶始終擁有用于此類任務(wù)的 GUI 工具。

如果你對(duì) Linux 命令完全陌生,本系列將對(duì)你有很大幫助。

終端基礎(chǔ):Linux 終端入門

如果你有疑問或建議,請(qǐng)告訴我。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2023-08-01 08:26:24

Linux文件目錄

2023-03-04 13:32:35

Linux創(chuàng)建目錄

2018-06-25 13:10:16

Linux復(fù)制重命名

2023-10-22 08:39:13

Linux目錄切換

2023-03-21 12:52:05

Linux創(chuàng)建文件

2023-05-13 17:43:17

Linux文件文件夾

2021-08-16 13:34:07

Linux終端刪除文件

2021-08-13 15:00:40

Linux終端移動(dòng)文件

2009-12-22 15:28:51

Linux批量重命名文

2018-06-01 10:37:26

Linux歸檔文件壓縮文件

2009-05-26 12:23:56

Linux變量文件命名

2019-09-03 08:57:52

Linux命令軟件

2010-03-03 16:11:01

Linux ubant

2010-03-09 15:23:30

Linux批量重命名

2010-11-19 13:48:18

2022-06-28 09:10:28

Linuxtree命令

2011-03-04 09:48:21

PureFTPd

2017-03-01 14:16:36

Linux文件管理器隱藏文件

2018-10-31 15:30:11

Linux命令重命名

2022-04-11 15:30:39

LinuxGlowMarkdown
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)