在Linux中重命名文件和目錄的幾種方法
前言
在這篇基本命令行教程中,你將學(xué)習(xí)在 Linux 終端重命名文件和目錄的各種方法。
如何在 Linux 終端中重命名文件和目錄?你可以使用 mv
命令。
是的,與用于將文件和文件夾從一個(gè)位置“移動(dòng)”到另一個(gè)位置的 mv
命令相同。
你可以在“移動(dòng)文件和目錄”時(shí)簡(jiǎn)單地指定文件和目錄的新名稱。
要重命名文件,請(qǐng)使用:
mv old_file new_file
同樣,要重命名目錄,請(qǐng)使用:
mv old_dir new_dir
聽(tīng)起來(lái)很容易,對(duì)吧? 但我將在這里詳細(xì)討論文件重命名:
? 向你展示重命名的實(shí)際示例
? 顯示通過(guò)結(jié)合 find
和 exec
命令批量重命名多個(gè)文件的示例
? 討論用于批量重命名文件的專用程序
我們來(lái)一一看看。
使用 mv 命令重命名文件和目錄
使用 mv
命令重命名同一目錄中的文件:
mv file1.txt file2.txt
同樣,你可以重命名同一位置的目錄:
mv dir1 dir2
這是我重命名文件和目錄的示例:
如你所見(jiàn),與 cp 命令itsfoss.com 不同,你不必使用遞歸選項(xiàng)來(lái)通過(guò) mv 命令linuxhandbook.com 處理目錄。
如果你嘗試使用相同的名稱重命名該文件,你會(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è)文件。為此,你必須采用我在以下部分中討論的其他策略。
通過(guò)組合 mv、find 和 exec 命令重命名與某個(gè)模式匹配的多個(gè)文件
批量重命名此類文件時(shí)要格外小心。一步錯(cuò)誤的舉動(dòng)就會(huì)導(dǎo)致無(wú)法挽回的不良結(jié)果。
find
命令用于根據(jù)文件名、類型、修改時(shí)間和其他參數(shù)在給定目錄中查找文件。exec 命令與 findlinuxhandbook.com 結(jié)合使用,對(duì) find
命令的結(jié)果執(zhí)行命令。
使用 find
、exec
和 mv
命令沒(méi)有固定標(biāo)準(zhǔn)的結(jié)構(gòu)。你可以根據(jù)需要組合它們。
假設(shè)你想通過(guò)在名稱中添加 _old
來(lái)重命名當(dāng)前目錄中以 .txt
結(jié)尾的所有文件。所以 file_1.txt
變成 file_1.txt_old
等等。
find . -type f -name "*.txt" -exec mv {} {}_old ;
這只是一個(gè)示例,你的重命名要求可能會(huì)有所不同。另外,以上僅適用于不帶空格的文件名。
專業(yè)提示:在處理這樣的批量操作時(shí),你可以巧妙地使用 echo
命令來(lái)查看將執(zhí)行什么操作,而不是實(shí)際執(zhí)行它。如果看起來(lái)不錯(cuò),那就采取實(shí)際行動(dòng)吧。
例如,首先查看哪些文件將被重命名:
find . -type f -name "*.txt" -exec echo mv {} {}_old \;
如你所見(jiàn),實(shí)際上沒(méi)有重命名任何文件。但是,如果你在沒(méi)有使用回顯(echo
)命令的情況下運(yùn)行上述命令,你將看到將執(zhí)行什么命令。
如果你覺(jué)得沒(méi)問(wèn)題,請(qǐng)刪除 echo
命令并繼續(xù)進(jìn)行實(shí)際的重命名。
find . -type f -name "*.txt" -exec mv {} {}_old \;
使用 rename 命令輕松重命名多個(gè)文件
有一個(gè)名為 rename
的便捷命令行程序,可用于根據(jù)給定的 Perl 正則表達(dá)式模式批量重命名文件。
該實(shí)用程序不是 GNU 工具鏈的一部分,也不是預(yù)安裝的。因此,你必須首先使用發(fā)行版的包管理器來(lái)安裝它。
對(duì)于 Debian/Ubuntu,命令為:
sudo apt install rename
你可以通過(guò)以下方式使用它:
rename [options] perl_regex [files]
選項(xiàng)有:
? -v
: 詳細(xì)模式
? -n
:無(wú)操作,顯示將被重命名的文件,但不重命名它們
? -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ì)你有很大幫助。
以上就是在Linux中重命名文件和目錄的常用方法的詳細(xì)內(nèi)容,更多關(guān)于Linux重命名文件和目錄的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
實(shí)現(xiàn)core文件自動(dòng)生成配置文件的方法
這篇文章主要介紹了實(shí)現(xiàn)core文件自動(dòng)生成配置文件的方法,需要的朋友可以參考下2014-07-07CentOS 6.0 啟動(dòng)時(shí)出現(xiàn)fstab錯(cuò)誤時(shí)的修復(fù)方法
下面小編就為大家?guī)?lái)一篇CentOS 6.0 啟動(dòng)時(shí)出現(xiàn)fstab錯(cuò)誤時(shí)的修復(fù)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Shell腳本入門之編寫格式與執(zhí)行方式的實(shí)現(xiàn)
這篇文章主要介紹了Shell腳本入門之編寫格式與執(zhí)行方式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結(jié)
這篇文章主要介紹了awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結(jié),用大量實(shí)例來(lái)說(shuō)明和講解,需要的朋友可以參考下2014-07-07shell腳本返回值及其使用場(chǎng)景的實(shí)現(xiàn)
這篇文章主要介紹了shell腳本返回值及其使用場(chǎng)景的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05