導航:首頁 > 文件教程 > linux命令修改文件後綴名

linux命令修改文件後綴名

發布時間:2025-06-03 14:06:17

1. linux下改變文件名的實用指令linux修改文件名命令

Linux 操作系統在功能上和安全性上都有優勢,文件系統也尤為靈活,Linux系統提供的更改文件名的實用指令如下:
1.mv:主要用於重新命名文件及移動文件,這個指令可以用來重命名單個文件或者同時重命名多個文件,如”mv oldname newname”將一個名為oldname的文件重新命名為newname,如果改變文件名之後同時移動到其他目錄下,這時用到命令「mv oldname newpath/newname」 。
2.rename:將某個目錄下的指定類型文件批量重命名,這個指令尤其適合文件重命名並且做一定規則修改的情況,其格式為rename ‘s/oldname/newname/’ filename,比如將當前所有.txt後綴文件,一次性重命名為.log文件,命令為:rename ‘s/\.txt$/\.log/’ *
3.cp 命令: 除了用於復制文件之外,cp 命令還可以用於修改文件名,在相同目錄下,只需要使用以下命令:cp oldfile newfile即可完成改名,如果需要在跨目錄改名(移動文件),命令格式為:cp folderA/oldfile folderB/newfile。
在Linux系統中,文件名更改是比較常用的一項操作,上面提到的幾種方法可幫助我們快速完成文件重命名工作,也可以用於文件許可權設置等更多操作。

2. Linux中,怎樣修改文件名

Linux中修改文件名使用mv命令,它可以將源文件重命名為目標文件,或將源文件移動至指定目錄。

1、mv命令的用法

mv[選項]...[-T]源文件目標文件
或:mv[選項]...源文件...目錄
或:mv[選項]...-t目錄源文件...

2、比如在當前目錄下有個test.txt的文件 ,要修改文件名為good.txt,則可以執行

mvtest.txtgood.txt

--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
-b:當文件存在時,覆蓋前,為其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;
-i:互動式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入」y」,表示將覆蓋目標文件;輸入」n」,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠「/」;
-S<後綴>:為備份文件指定後綴,而不使用默認的後綴;
--target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。

3. linux文件名修改命令linux文件名修改

linux文件夾下批量改名最佳方法?

linux文件夾下批量改名按以下方法為最佳:

1、在Linux系統上打開終端;

?2、使用rename命令;

from表示需要替換或者處理的字元,比如文件的擴展名,文件名.

to表示對from處理之後的結果。

file表示目標文件。

?3、使用rename將文件後綴名.log改為.jpg或其他即可。

linux下對文件重命名是什麼命令?

linux的文件重命名非常簡單。常用的是mv命令和rename命令。下面介紹一下這兩個命令的用法,具體結節可以參考手冊。

1、mvmvfromfiletofile如把文件a.txt得命名為b.txt,可以是mva.txtb.txt。mv一次只能重命名一個文件,而且,它是移動命令。如果tofile已經存在的話,會直接裝原文件覆蓋,從而造成文件的丟失。當然有選項可以對已存在的文件進行提示,但是,我表示,那個選項我還真不常用。綜合這兩點考慮,還是決定看看rename吧。

2、或者rename's/frompart/topart/'filename如把文件a.txt得命名為b.txt,可以是rename'a''b'a.txt(這個沒有試過,看網上別人說的,是這樣子的。)還可以是:rename's/^a/b/'a.txt在有的系統之上,用前面的那句可以通過,在有的系統之上,用後面的這個可以通過。兩個不一樣,一個是C的,一個是perl的。明顯看出,後面這條是正則表達式的寫法。具體採用哪一種方式,可以manrename,在手冊頁的最後一行看版本。由於我使用的系統rename的版本是Perl的,所以我只能採用後面的這一種方式。rename強大的地方在於,你可以使用*,?等,對所有符合條件的文件名進行批量修改。而你在使用mv的時候,只能採用寫腳本,用循環的方式來解決。

Linux環境下,如何將某個文件夾下的文件批量重命名?

Linux系統用一個簡單的shell腳本批量實現修改文件夾(比如/tmp)裡面的文件名字,請參考如下

#!/usr/bin/bash

if];then

j=1

foriin$(ls/tmp);

do

echorenamethefile$ito$1${j}

mv$ifile${j}

j=$(($j+1))

done

else

echopleaseyouinputrenamename!

fi

LINUX系統可以改文件後綴名嗎?

Linux不像Windows一樣區分文件後綴的,所以是可以改的,而且不影響使用的。

1,mv可以移動文件,也可以用作更改文件名。

2,修改命名:mvfileName.typefileName.newType就可以更改文件後綴了。

3,但是一些特定的文件不要隨意更改,例如配置文件。

4. linux淇鏀規枃浠剁殑鍛戒護鏄浠涔坙inux淇鏀規枃浠剁殑鍛戒護

LINUX緋葷粺鍙浠ユ敼鏂囦歡鍚庣紑鍚嶅悧錛

Linux涓嶅儚Windows涓鏍峰尯鍒嗘枃浠跺悗緙鐨勶紝鎵浠ユ槸鍙浠ユ敼鐨勶紝鑰屼笖涓嶅獎鍝嶄嬌鐢ㄧ殑銆

1錛宮v鍙浠ョЩ鍔ㄦ枃浠訛紝涔熷彲浠ョ敤浣滄洿鏀規枃浠跺悕銆

2錛屼慨鏀瑰懡鍚嶏細mvfileName.typefileName.newType灝卞彲浠ユ洿鏀規枃浠跺悗緙浜嗐

3錛屼絾鏄涓浜涚壒瀹氱殑鏂囦歡涓嶈侀殢鎰忔洿鏀癸紝渚嬪傞厤緗鏂囦歡銆

濡備綍鍦╨inux涓嬬紪杈戝拰淇鏀規枃浠訛紵

1銆佸紑鍚涓涓鉶氭嫙鏈猴紝浣跨敤ctrl+alt+t鎴栬呭弻鍑籺erminal榪涘叆緇堢鍛戒護鐣岄潰銆

2銆佷嬌鐢╲i+鏂囦歡鍙浠ワ紙鍒涘緩錛夎繘鍏ョ紪杈戞枃浠訛紝濡傦細visave.c銆

3銆佽繘鍏ユ枃浠跺悗錛屾寜鈥渋鈥濇垨鑰呪渁鈥濊繘鍏ユ彃鍏ユā寮忋

4銆佷笅鏂規樉紺篿nsert錛屽嵆鍙寮濮嬬紪杈戝拰淇鏀規枃浠躲

5銆佺紪杈戝ソ鍚庯紝鎸変笅鈥渆sc鈥濓紝鍙閫鍑烘彃鍏ユā寮忋

6銆侀鍑烘彃鍏ユā寮忓悗錛屾寜涓嬧滐細wq鈥濓紝鍙浠ヤ繚瀛樺苟閫鍑烘枃浠訛紝錛堟寜涓嬧滐細q錛佲濅負寮哄埗閫鍑轟笉淇濆瓨鏂囦歡錛夈

touch鎬庝箞鍒涘緩鏂囦歡鏇存敼鏉冮檺涓哄睘錛

touch鍒涘緩鏂囦歡鏇存敼鏉冮檺涓哄睘鏂規硶濡備笅

1銆佺櫥褰昄inux緋葷粺錛屾柊寤轟竴涓緇堢

2銆佸湪緇堢涓浣跨敤touch鍛戒護鍒涘緩涓涓鏂囦歡

3銆佷嬌鐢╒im緙栬緫鍣錛屽湪鏂囦歡涓鍐欑偣鍐呭癸紝杈撳叆:wq淇濆瓨閫鍑

4銆佽繑鍥炲埌緇堢涓錛屼嬌鐢╨s-l鏌ョ湅鏂囦歡鏉冮檺

5銆佷嬌鐢╟hmod鍛戒護浠ュ強+x鍙傛暟緇欐枃浠跺彲鎵ц屾潈闄

榪欓噷鐨剎琛ㄧず鍙鎵ц屾潈闄愶紙璇匯佸啓銆佸彲鎵ц屼笁縐嶆潈闄愬垎鍒鏄鐢╮銆亀銆亁鏉ヨ〃紺猴級錛涜岄偅涓猘琛ㄧずall錛屽氨鏄鐢ㄦ埛銆佺敤鎴風粍鍜屽叾浠栫敤鎴蜂笁縐嶈韓浠界殑鏉冮檺鍊奸兘榪涜屼慨鏀癸紙濡傛灉鍙淇鏀圭敤鎴鋒潈闄愶紙user錛夈佺敤鎴風粍鏉冮檺錛坓roup錛夈佸叾浠栫敤鎴鳳紙others錛変笁縐嶈韓浠藉叾涓鐨勪竴縐嶏紝鍙浠ョ敤u銆乬鎴杘鏉ヤ唬鏇塊偅涓瀛楁瘝a錛夛紱x鍓嶉潰鐨勫姞鍙瘋〃紺烘坊鍔犳潈闄愶紙濡傛灉鏄鍘繪帀鏌愪釜鏉冮檺灝辨槸鑻辨枃鍑忓彿錛

鍦ㄤ嬌鐢╨s-l鍛戒護鏌ョ湅鏂囦歡鏉冮檺灞炴у氨鏈変簡鍙鎵ц屾潈闄愶紝鍙浠ヤ嬌鐢ㄦ枃浠剁殑緇濆硅礬寰勬潵榪愯屽畠

windows濡備綍淇鏀筶inux鍒嗗尯鏂囦歡錛

windows鏃犳硶鐩存帴璇嗗埆linux鏂囦歡緋葷粺錛屽彧鑳介氳繃絎涓夋柟杞浠惰緟鍔╀慨鏀

linux涓嬪規枃浠墮噸鍛藉悕鏄浠涔堝懡浠わ紵

linux鐨勬枃浠墮噸鍛藉悕闈炲父綆鍗曘傚父鐢ㄧ殑鏄痬v鍛戒護鍜宺ename鍛戒護銆備笅闈浠嬬粛涓涓嬭繖涓や釜鍛戒護鐨勭敤娉曪紝鍏蜂綋緇撹妭鍙浠ュ弬鑰冩墜鍐屻

1銆乵vmvfromfiletofile濡傛妸鏂囦歡a.txt寰楀懡鍚嶄負b.txt錛屽彲浠ユ槸mva.txtb.txt銆俶v涓嬈″彧鑳介噸鍛藉悕涓涓鏂囦歡錛岃屼笖錛屽畠鏄縐誨姩鍛戒護銆傚傛灉tofile宸茬粡瀛樺湪鐨勮瘽錛屼細鐩存帴瑁呭師鏂囦歡瑕嗙洊錛屼粠鑰岄犳垚鏂囦歡鐨勪涪澶便傚綋鐒舵湁閫夐」鍙浠ュ瑰凡瀛樺湪鐨勬枃浠惰繘琛屾彁紺猴紝浣嗘槸錛屾垜琛ㄧず錛岄偅涓閫夐」鎴戣繕鐪熶笉甯哥敤銆傜患鍚堣繖涓ょ偣鑰冭檻錛岃繕鏄鍐沖畾鐪嬬湅rename鍚с

2銆乺鎴栬卹ename's/frompart/topart/'filename濡傛妸鏂囦歡a.txt寰楀懡鍚嶄負b.txt錛屽彲浠ユ槸rename'a''b'a.txt錛堣繖涓娌℃湁璇曡繃錛岀湅緗戜笂鍒浜鴻寸殑錛屾槸榪欐牱瀛愮殑銆傦級榪樺彲浠ユ槸錛歳ename's/^a/b/'a.txt鍦ㄦ湁鐨勭郴緇熶箣涓婏紝鐢ㄥ墠闈㈢殑閭e彞鍙浠ラ氳繃錛屽湪鏈夌殑緋葷粺涔嬩笂錛岀敤鍚庨潰鐨勮繖涓鍙浠ラ氳繃銆備袱涓涓嶄竴鏍鳳紝涓涓鏄疌鐨勶紝涓涓鏄痯erl鐨勩傛槑鏄劇湅鍑猴紝鍚庨潰榪欐潯鏄姝e垯琛ㄨ揪寮忕殑鍐欐硶銆傚叿浣撻噰鐢ㄥ摢涓縐嶆柟寮忥紝鍙浠manrename,鍦ㄦ墜鍐岄〉鐨勬渶鍚庝竴琛岀湅鐗堟湰銆傜敱浜庢垜浣跨敤鐨勭郴緇焤ename鐨勭増鏈鏄疨erl鐨勶紝鎵浠ユ垜鍙鑳介噰鐢ㄥ悗闈㈢殑榪欎竴縐嶆柟寮忋俽ename寮哄ぇ鐨勫湴鏂瑰湪浜庯紝浣犲彲浠ヤ嬌鐢*錛岋紵絳夛紝瀵規墍鏈夌﹀悎鏉′歡鐨勬枃浠跺悕榪涜屾壒閲忎慨鏀廣傝屼綘鍦ㄤ嬌鐢╩v鐨勬椂鍊欙紝鍙鑳介噰鐢ㄥ啓鑴氭湰錛岀敤寰鐜鐨勬柟寮忔潵瑙e喅銆

5. linux中如何用rename命令重命名一個文件

用法如下:

$ rename [options] [perlexpr] [files]

PS:

(1)options

-v 顯示成功重命名的文件-n 只顯示將被重命名的文件,但是不進行重命名-f 如果迴文件已存答在,覆蓋-e 表明需要需要被執行的code,如果沒有-e,那麼第一個參數將被當成code。

(2)perlexpr

這是一個Perl表達式,文件名應當在其中被改變,沒學過Perl也沒關系,這個命令用到的語法很像sed,容易上手。

(3)files

需要重命名的文件。

(5)linux命令修改文件後綴名擴展閱讀:

linux中如何用rename命令重命名一個文件示例:

1、去除文件擴展名

$ rename 's/.bak$//' *.bak

2、去除文件名中的空格

$ rename 's/ //g' *

3、文件名轉為小寫

$ rename 'y/A-Z/a-z/' *

4、現在有一堆文件,他們的文件名模式是這樣的第一部分-haha-第二部分.file ,現在要把中間的-haha- 刪去並把第一部分的字元串和第二部分的字元串對調,可以這樣:

$ rename 's/(.*)-haha-(.*)(.file)/$2$1$3/' *.file

6. Linux下怎麼通過shell批量修改文件名後綴

這個問題還是比較簡單的。我們通過對變數的字元串替換就能實現。

抽風了,貼不了代碼了。你參考一下咯

# linuxprobe.com

# 第4章 Vim編輯器與Shell命令腳本。

readdirectory;

if[-d$directory]

then

pushd$directory;

#HandleRenameProcess

forfnamein`ls*.txt`

do

mv$fname${fname%.*}.doc;

done

fi

7. linux批量修改文件後綴名Linux下批量修改文件名的方法

linux批量修改文件後綴名,Linux下批量修改文件名的方法很多人還不知道,現在讓我們一起來看看吧!
Linux下批量修改文件名的方法
在Linux環境下修改文件名可以有不同的命令方式,比如rename、mv都可以進行修改,如果用戶正在了解這方面的知識,可以閱讀下文了解Linux修改文件名以及批量修改文件名的方法。
對於單個的文件,可以直接使用命令,那如果有大量的類似格式的文件名需要修改成其他格式的,該如何呢?
比如某次測試後,保存的文件為 Lan1.txt,Lan2.txt,……Lan100.txt
這一百個文件需要在前面添加前綴變成類似 ch7_Lan1.txt,如果你還想使用mv來一個一個多痛苦啊。
當前文件夾下,文件修改有四種方式:
1、使用while Loop加${//}來實現Lan到ch7_Lan的替換。
01find . -name "Lan*txt" -type f | read files02do03new=04mv05done復制代碼
find . -name "Lan*txt" -type f | read filesdonew=mvdone
2、充分利用awk的分隔符功能來實現:
01ls *Lan* | awk 'BEGIN{FS="Lan";OFS="ch7_Lan"}{printf "mv "$0" ";$1=$1;print $0}' | sh復制代碼
ls *Lan* | awk 'BEGIN{FS="Lan";OFS="ch7_Lan"}{printf "mv "$0" ";$1=$1;print $0}' | sh
首先,修改FS和OFS,輸入和輸出的分隔符。
其次,使用awk中的命令,拼接「mv Lan1.txt ch7_Lan1.txt」這條命令。
最後,使用|sh來執行一個shell命令來完成mv動作。
其中,$1=$1是必須的,這個是完成Lan===> ch7_Lan的關鍵(其實是可以使用$2=$2等來替換,只要一個賦值動作而已)
奇怪的是,難道沒有賦值動作,分隔符的改變就不能檢測出來么?
3、使用awk的內置命令,gsub和system來實現替換和命令執行。
01ls "*Lan*" | awk '{org=$0;gsub("Lan", "ch7_Lan");system("mv "org" "$1)}'復制代碼
ls "*Lan*" | awk '{org=$0;gsub("Lan", "ch7_Lan");system("mv "org" "$1)}'
首先保存原始的數據。
其次修改 Lan為 ch_Lan
最後執行mv動作
其中,最後system命令"mv "org""需要使用""來標記。
而且org也需要"",並且不能使用$org
1、對於awk命令中的變數,不需要用$來引用。
2、在system()中,變數需要使用""來標識,否則就被當成字元串來處理。
3、如果對變數進行$來進行引用,就會出現兩種情況:
3.1、正常情況下,可以被當成位置參數來引用。比如 NF表示當前行的記錄個數。比如echo "a b c d" | awk '{print NF, $NF}',這個會列印兩個變數,第一個是NF本身,其值為4;第二個是第四個位置參數,也就是$4,也就是d
3.2、非正常情況下:
3.2.1、如果變數本身就是個字元串。比如echo "a b c d" | awk '{va=「varA「;print va, $va}',因為後一個參數$va,由於va是個字元串,因此$va列印的就是$0
3.2.2、如果變數本身就是個數字,但是該值大於NF。 比如echo "a b c d" | awk '{va="varA";vb=6;print va, $va, vb, $vb, 1}',因為$vb相當於是$6,但是位置參數$6沒有,因此列印的就是個空字元。
01[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{print NF, }'024 d03[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{va="varA";print va, }'04varA a b c d05[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{va="varA";vb=6;print va, , vb, , 1}'06varA a b c d 6 1復制代碼
[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{print NF, }'4 d[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{va="varA";print va, }'varA a b c d[martin@TSPerPacketsTest]$ echo "a b c d" | awk '{va="varA";vb=6;print va, , vb, , 1}'varA a b c d 6 1
4、使用sed中的s來進行替換,然後使用e命令來執行:
01[martin@TSPerPacketsTest]$ ls *Lan* | sed -r -n 's/(.*)Lan(.*)/mv & 1ch_Lan2/e'復制代碼
[martin@TSPerPacketsTest]$ ls *Lan* | sed -r -n 's/(.*)Lan(.*)/mv & 1ch_Lan2/e'
關於sed的選項,使用 -r和 -n
-r 來啟用後續可以使用 command,比如 mv
-n 來關閉 patten space中內容的顯示。
關於sed的 command,使用e。如此在使用s命令完成 pattern space中 Lan到 ch7_Lan的修改後,啟動shell來執行 pattern space中的' mv指令。
如果這里使用 p,標記僅僅顯示 pattern space中的指令而已。
如果對於某目錄下的所有文件,進行文件名修改,有兩種方式:
1、匯集awk的 FS/OFS和 gsub/system來實現。有點類似於綜合上述2,3兩種方式。
01[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk 'BEGIN{FS="/";OFS="/"}{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'復制代碼
[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk 'BEGIN{FS="/";OFS="/"}{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'
為了實現所有目錄下的文件名進行修改,但是又不影響路徑上文件夾名。
首先,標記FS和OFS都為"/"。
其次,使用gsub時候,指定僅僅修改當前行中最後一個記錄,使用$NF來指定。
當然,對於FS和OFS的指定,可以不放置在 BEGIN中實現,比如:
01[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk -vF=/ -vOFS=/ '{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'02[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk -F/ -vOFS=/ '{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'復制代碼
[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk -vF=/ -vOFS=/ '{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | awk -F/ -vOFS=/ '{org=$0;gsub("Lan", "ch7_Lan", );system("echo "org" "$0)}'
2、或者使用 sed。
01[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | sed -r -n 's/(.*)([^/]*)Lan([^/]*)$/mv & 12ch7_Lan3/e'復制代碼
[martin@TSPerPacketsTest]$ find . -name "*Lan*" -type f | sed -r -n 's/(.*)([^/]*)Lan([^/]*)$/mv & 12ch7_Lan3/e'
其中的各個 option和 command參數,上述都已經有介紹了。
這里,針對文件夾名和文件名,使用了簡單的sed內置的正則表達式來進行匹配而已,來實現僅僅對文件名的修改。
以上步驟在Linux修改文件名以及批量修改文件名的實現方式,是在shell中使用find、exec、xargs、mv命令組合批量替換文件名中的字元串。

閱讀全文

與linux命令修改文件後綴名相關的資料

熱點內容
數學表示數據的方式有哪些 瀏覽:102
linux驅動程序編譯 瀏覽:640
如何看網路結構 瀏覽:205
word宏文件 瀏覽:813
如何用閑錢掙錢在網路上掙快錢 瀏覽:449
蘋果六么回事 瀏覽:178
前饋型人工神經網路 瀏覽:245
登錄顯示網路錯誤是因為什麼 瀏覽:732
濱海如何學數控編程培訓 瀏覽:365
如何剪切圖片到別的文件 瀏覽:86
做網站要多少錢一個 瀏覽:407
ltetd是什麼網路 瀏覽:843
軟體投標文件模板 瀏覽:655
美國使用哪個app購物 瀏覽:83
足球波膽的app都有哪些 瀏覽:201
什麼網站看vtp電視 瀏覽:1
騰達ac9的初始無線密碼 瀏覽:718
微信那些人一天到晚發連接 瀏覽:141
為什麼文件夾放不到光碟裡面 瀏覽:269
車床編程中的mdi是什麼意思 瀏覽:524

友情鏈接