"linux 給文件改名的命令是mv命;mv命令來(lái)為文件或目錄改名或?qū)⑽募梢粋€(gè)目錄移入另一個(gè)目錄中。該命令等同于DOS系統(tǒng)下的ren和move命令的組合。它的使用權(quán)限是所有用戶。
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),烏蘇企業(yè)網(wǎng)站建設(shè),烏蘇品牌網(wǎng)站建設(shè),網(wǎng)站定制,烏蘇網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,烏蘇網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
格式:mv [options] 源文件或目錄 目標(biāo)文件或目錄。主要參數(shù)[options]
-i:交互方式操作。如果mv操作將導(dǎo)致對(duì)已存在的目標(biāo)文件的覆蓋,此時(shí)系統(tǒng)詢問(wèn)是否重寫(xiě),要求用戶回答”y”或”n”,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個(gè)已有的目標(biāo)文件時(shí)不給任何指示,指定此參數(shù)后i參數(shù)將不再起作用。選擇參數(shù):當(dāng)選擇參數(shù)類型是文件時(shí),mv命令完成文件重命名,它將所給的源文件或目錄重命名為給定的目標(biāo)文件名。要詳細(xì)了解文件名改名可以看看《linux就該這么學(xué)》這本書(shū)。
"
這兩天在使用Ubuntu系統(tǒng)上進(jìn)行開(kāi)發(fā)軟件的安裝,一直遇到創(chuàng)建的Android
Studio圖標(biāo)無(wú)法使用的問(wèn)題,創(chuàng)建的圖標(biāo)提示「應(yīng)用程序啟動(dòng)錯(cuò)誤」。在網(wǎng)上也找了很多文章,都是說(shuō)文件夾中包含空格。但是文件路徑確實(shí)沒(méi)包含空格,但是包含-,即"android-studio",所以準(zhǔn)備重命名進(jìn)行嘗試,但是遇到"bareword
not
allowed"的問(wèn)題。
Linux下對(duì)文件重命名有兩種命令:
mv
,rename
mv很簡(jiǎn)單,move文件移動(dòng)
mv
/dir/file1
/dir2/file1
兩個(gè)參數(shù),第一個(gè)是源文件,第二個(gè)是目的地,如果第二個(gè)參數(shù)文件名不一樣,則會(huì)重命名。
當(dāng)兩個(gè)參數(shù)不帶目錄,只有文件名時(shí),那就是重命名了。這是單個(gè)文件的重命名。
rename
arg1
arg2
arg3
rename才是真正的批量重命名命令。而且他是3個(gè)參數(shù),不是2個(gè)。
arg1:舊的字符串
arg2:新的字符串
arg3:匹配要重命名的文件,可以使用3種通配符,*、?、[char],*表示任意多個(gè)字符,?表示單個(gè)字符,[char]匹配char單個(gè)自定的精確字符,可以填寫(xiě)任意字符,foo[a]*表示只匹配fooa開(kāi)頭的文件名,如果一個(gè)文件是foobcc.txt,是不會(huì)被匹配的。
值的注意的是,此命令在不同的Linux版本也有不同,Debian一系的操作系統(tǒng)別有用法。舉例說(shuō)明:
比如/home下有兩個(gè)文件
abbcc.txt,
addbb.txt
,
a.txt
我想把a(bǔ)替換為xxx,命令是這樣的
:
rename
“a”
“xxx”
*.txt
那么它會(huì)首先去匹配有哪些文件需要修改,這里凡是.txt后綴的文件都會(huì)被匹配,如果改成?.txt則只會(huì)匹配到一個(gè)文件,那就是a.txt。然后把匹配到的文件中的a字符替換為xxx,注意測(cè)試時(shí)abab.txt這樣的,只會(huì)替換第一個(gè)a,有待再了解。
說(shuō)到Debian一系的操作系統(tǒng),比如Ubuntu,這個(gè)命令這樣使用是不對(duì)的,報(bào)錯(cuò),向下面這樣的:
Bareword
“a”
not
allowed
while
“strict
subs”
in
use
at
(eval
1)
line
1.
經(jīng)過(guò)Google之后發(fā)現(xiàn)有這樣的說(shuō)法:
On
Debian-based
distros
it
takes
a
perl
expression
and
a
list
of
files.
you
need
to
would
need
to
use:
rename
‘s/foo/foox/’
*
這里是一個(gè)perl表達(dá)式,好理解點(diǎn)說(shuō)就是綜合了前兩個(gè)參數(shù)為1個(gè),這樣就只需要2個(gè)參數(shù),而非上面所說(shuō)的3個(gè)參數(shù)形式。
所以在Ubuntu下執(zhí)行上面舉例的重命名時(shí),命令是這樣的:rename
‘s/a/xxx/’
*.txt
linux的文件重命名非常簡(jiǎn)單。常用的是mv命令和rename命令。下面介紹一下這兩個(gè)命令的用法,具體結(jié)節(jié)可以參考手冊(cè)。
1、mv
mv fromfile tofile
如把文件a.txt得命名為b.txt,可以是mv a.txt b.txt。
mv一次只能重命名一個(gè)文件,而且,它是移動(dòng)命令。如果tofile已經(jīng)存在的話,會(huì)直接裝原文件覆蓋,從而造成文件的丟失。當(dāng)然有選項(xiàng)可以對(duì)已存在的文件進(jìn)行提示,但是,我表示,那個(gè)選項(xiàng)我還真不常用。綜合這兩點(diǎn)考慮,還是決定看看rename吧。
2、rename
rename frompart topart filename 或者 rename 's/frompart/topart/' filename
如把文件a.txt得命名為b.txt,可以是rename 'a' 'b' a.txt (這個(gè)沒(méi)有試過(guò),看網(wǎng)上別人說(shuō)的,是這樣子的。)還可以是:rename 's/^a/b/' a.txt
在有的系統(tǒng)之上,用前面的那句可以通過(guò),在有的系統(tǒng)之上,用后面的這個(gè)可以通過(guò)。兩個(gè)不一樣,一個(gè)是C的,一個(gè)是perl的。明顯看出,后面這條是正則表達(dá)式的寫(xiě)法。具體采用哪一種方式,可以man rename,在手冊(cè)頁(yè)的最后一行看版本。由于我使用的系統(tǒng)rename的版本是Perl的,所以我只能采用后面的這一種方式。
rename 強(qiáng)大 的地方在于,你可以使用*,?等,對(duì)所有符合條件的文件名進(jìn)行批量修改。而你在使用mv的時(shí)候,只能采用寫(xiě)腳本,用循環(huán)的方式來(lái)解決。
當(dāng)前文章:linux文件改名字命令 linux常用命令修改文件名
當(dāng)前鏈接:http://aaarwkj.com/article46/dooophg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、商城網(wǎng)站、企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容