新聞中心
linux中如何用rename命令重命名一個文件
rename的參數(shù)

創(chuàng)新互聯(lián)是專業(yè)的焉耆網(wǎng)站建設(shè)公司,焉耆接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行焉耆網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
rename命令的格式:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
第一個參數(shù):被替換掉的字符串
第二個參數(shù):替換成的字符串
第三個參數(shù):匹配要替換的文件模式
例子:rename main1.c main.c main1.c 將main1.c重命名為main.c
rename支持通配符
? 可替代單個字符
* 可替代多個字符
[charset] 可替代charset集中的任意單個字符
例子:文件夾中有這些文件foo1, ..., foo9, foo10, ..., foo278,
如果使用 rename foo foo0 foo?
會把foo1到foo9的文件重命名為foo01到foo09,重命名的文件只是有4個字符長度名稱的文件,文件名中的foo被替換為foo0。
如果使用 rename foo foo0 foo??
foo01到foo99的所有文件都被重命名為foo001到foo099,只重命名5個字符長度名稱的文件,文件名中的foo被替換為foo0。
如果使用 rename foo foo0 foo*
foo001到foo278的所有文件都被重命名為foo0001到foo0278,所有以foo開頭的文件都被重命名。
如果使用 rename foo0 foo foo0[2]*
從foo0200到foo0278的所有文件都被重命名為foo200到foo278,文件名中的foo0被替換為foo。
rename支持正則表達式
例子:
字母的替換rename "s/AA/aa/" * //把文件名中的AA替換成aa
修改文件的后綴rename "s//.html//.php/" * //把.html 后綴的改成 .php后綴
批量添加文件后綴rename "s/$//.txt/" * //把所有的文件名都以txt結(jié)尾
批量刪除文件名rename "s//.txt//" * //把所有以.txt結(jié)尾的文件名的.txt刪掉
也可以參考《Linux就該這么學(xué)》中的章節(jié)內(nèi)容嘗試解決。
linux中的輸出重定向是什么意思?
輸出重定向則是指把原本要輸出到屏幕的數(shù)據(jù)信息寫入到指定文件中。在日常的學(xué)習(xí)和工作中,相較于輸入重定向,我們使用輸出重定向的頻率更高,所以又將輸出重定向分為了標準輸出重定向和錯誤輸出重定向兩種不同的技術(shù),以及清空寫入與追加寫入兩種模式。聽起來就很玄妙?
標準輸出重定向(STDOUT,文件描述符為1):默認輸出到屏幕。
錯誤輸出重定向(STDERR,文件描述符為2):默認輸出到屏幕。
比如我們分別查看兩個文件的屬性信息,其中第二個文件是不存在的,雖然針對這兩個文件的操作都分別會在屏幕上輸出一些數(shù)據(jù)信息,但這兩個操作的差異其實很大:
[root@linuxprobe?~]#?touch?linuxprobe
[root@linuxprobe?~]#?ls?-l?linuxprobe?
-rw-r--r--.?1?root?root?0?Aug?5?05:35?linuxprobe
[root@linuxprobe?~]#?ls?-l?xxxxxx
ls:?cannot?access?xxxxxx:?No?such?file?or?directory
#命令來自-
在上述命令中,名為linuxprobe的文件是存在的,輸出信息是該文件的一些相關(guān)權(quán)限、所有者、所屬組、文件大小及修改時間等信息,這也是該命令的標準輸出信息。而名為xxxxxx的第二個文件是不存在的,因此在執(zhí)行完ls命令之后顯示的報錯提示信息也是該命令的錯誤輸出信息。那么,要想把原本輸出到屏幕上的數(shù)據(jù)轉(zhuǎn)而寫入到文件當中,就要區(qū)別對待這兩種輸出信息。??
命令??文件????將標準輸出重定向到一個文件中(清空原有文件的數(shù)據(jù))????
命令?2?文件????將錯誤輸出重定向到一個文件中(清空原有文件的數(shù)據(jù))????
命令??文件????將標準輸出重定向到一個文件中(追加到原有內(nèi)容的后面)????
命令?2?文件????將錯誤輸出重定向到一個文件中(追加到原有內(nèi)容的后面)????
命令??文件?21?或命令??文件????將標準輸出與錯誤輸出共同寫入到文件中(追加到原有內(nèi)容的后面)
linux系統(tǒng)中如何重命名文件和文件夾?
linux重命名文件和文件夾可以使用mv命令來實現(xiàn)。
mv命令:
Linux mv 命令用來為文件或目錄改名、或?qū)⑽募蚰夸浺迫肫渌恢谩?/p>
實例:
比如:before.txt是修改之前的文件名,after.txt是準備修改的文件名。
命令為:
注意:如果當前目錄下也有個after.txt的文件的話,我們的這個文件是會將它覆蓋的。
mv命令也可以移動文件和文件夾,例如將/a目錄移動到/b下,并重命名為c。
命令為:
linux中怎么實現(xiàn)重定向2?
在您實現(xiàn)輸出的那行命令后面加上、、、、2、2來實現(xiàn)重定向。
是每一次重定向時將原先的內(nèi)容先刪除然后寫入新的數(shù)據(jù)。
是每一次重定向時將新的內(nèi)容加入到就內(nèi)容的后面。
是將指定文件內(nèi)容重定向到相關(guān)命令或者文件中,同時每次執(zhí)行時先刪除舊的再加入新的。
作用同上,只是將新的信息加到舊的信息后面。
2是將命令執(zhí)行報錯時,將錯誤信息重定向至指定文件,并且每次執(zhí)行都會先刪除舊的再加入新的。
2和上面一條命里作用一樣,只是將新的錯誤信息加到原來信息的后面
舉例:
1.ls /etc/passwd user
2.ls /etc/passwd user
3.ls idjsoigjs test
4.ls idjsoigjs test
5. mail 用戶名 -s "郵件題目" file (file是你建的一個文件,里面內(nèi)容隨意自己定)
然后輸入 mail 可以看到自己有封郵件題目為(您自定義的名字),輸入相應(yīng)的數(shù)字,您可以按到信件內(nèi)容為file內(nèi)容,這就是利用重定向直接將已寫好的信件內(nèi)容發(fā)送出去。
至于1-4的結(jié)果,樓主可在輸入完后自行查看user和test的變化來進行對比。
對照劉遄老師的《Linux就該這么學(xué)》
分享題目:linux命令的重定義 linux重命名
文章源于:http://www.dlmjj.cn/article/doceoej.html


咨詢
建站咨詢
