'\r'是回車,前者使光標(biāo)到行首,(carriage
創(chuàng)新互聯(lián)公司是專業(yè)的華池網(wǎng)站建設(shè)公司,華池接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行華池網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
return)
'\n'是換行,后者使光標(biāo)下移一格,(line
feed)
\r
是回車,return
\n
是換行,newline
對(duì)于換行這個(gè)動(dòng)作,unix下一般只有一個(gè)0x0a表示換行("\n"),windows下一般都是0x0d和0x0a兩個(gè)字符("\r\n"),蘋果機(jī)(mac
os系統(tǒng))則采用回車符cr表示下一行(\r)
unix系統(tǒng)里,每行結(jié)尾只有“換行”,即“\n”;
windows系統(tǒng)里面,每行結(jié)尾是“回車換行”,即“\r\n”;
mac系統(tǒng)里,每行結(jié)尾是“回車”,即“\r”。
一個(gè)直接后果是,unix/mac系統(tǒng)下的文件在windows里打開的話,所有文字會(huì)變成一行;而windows里的文件在unix下打開的話,在每行的結(jié)尾會(huì)多車一個(gè)^m字符。
dos和windows采用回車+換行cr/lf表示下一行,即^m$($不是換行符的表示,換行符沒有表示出來,$是文本結(jié)束eof的表示)
而unix/linux采用換行符lf表示下一行,即\n
蘋果機(jī)(mac
os系統(tǒng))則采用回車符cr表示下一行,即\r
cr用符號(hào)'\r'表示,
十進(jìn)制ascii代碼是13,
十六進(jìn)制代碼為0x0d;
lf使用'\n'符號(hào)表示,
ascii代碼是10,
十六制為0x0a.
所以windows平臺(tái)上換行在文本文件中是使用
0d
0a
兩個(gè)字節(jié)表示,
而unix和蘋果平臺(tái)上換行則是使用0a或0d一個(gè)字節(jié)表示.
由于dos風(fēng)格的換行使用\r\n,把這樣的文件上傳到unix,有些版本的vi不能識(shí)別\r,所以vi顯示時(shí)在行尾會(huì)出現(xiàn)^m出來,但是有些就能識(shí)別\r\n,正常顯示回車換行。
在windows上編寫的shell、python等腳本在Linux上無法正常的執(zhí)行,會(huì)有 ^M 相關(guān)提示,
原因 :
在Linux上使用vim打開文件,顯示很多的 ^M 字符,主要是因?yàn)樵赪indows下?lián)Q行使用CRLF兩個(gè)字符來表示,其中CR為回車(ASCII=0x0D),LF為換行(ASCII=0x0A),而在Linux下使用LF一個(gè)字符來表示。在Linux下使用vim來查看一些Windows下創(chuàng)建的腳本文件時(shí),會(huì)發(fā)現(xiàn)在每一行尾部有^M字符,其實(shí)它是顯示CR回車字符
Unix體系里,每行結(jié)尾只有“換行”,即“\n”;
Windows體系里面,每行結(jié)尾是“換行回 車”,即“\n\r”。
一個(gè)直接結(jié)果是,Unix體系下的文件在Windows里打開的話,所有文字會(huì)變成一行;
而Windows里的文件在Unix下打開的話,在每行的結(jié)尾可能會(huì)多出一個(gè)^M符號(hào)。
如果正常編輯文件中看不見^M,可以用”cat -A test.file”號(hào)令查看。
使用vim方式處理
在vim命令模式下輸入%s/^M$//g
回車即會(huì)自動(dòng)刪除該文件中的所有 ^M 字符。
% 指匹配整個(gè)文件,s 是置換的意思,^M 注意要用 Ctrl + V Ctrl + M 來輸入,M 后面的 $ 代表匹配行尾的內(nèi)容,最后的 g 則表示每行中匹配到的內(nèi)容都要置換。
理解了命令的含義,就好變通使用了,比如說,要將某個(gè)文件中的 Vim 全部替換成 VIM,則可以使用這樣的命令::%s/Vim/VIM/g。
方法1:
在命令模式下:輸入:%s/^M//g 然后,回車即可替換
注,其中”^M”的輸入,分別是“Ctrl+v”、“Ctrl+M”鍵生成的
方法2:
使用vi打開文本文件
vi dos.txt
命令模式下輸入
:set fileformat=unix
:w
方法3:
使用sed 工具
sed ’s/^M//’ filename tmp_filename
方法4:
既然window下的回車符多了‘\r’,那么當(dāng)然通過刪除‘\r’ ,也可以實(shí)現(xiàn):
tr -d ‘\r’
方法5:使用Linux上的工具
tofrodos
(1)安裝tofrodos
sudo apt-get install tofrodos
實(shí)際上它安裝了兩個(gè)工具:todos(相當(dāng)于unix2dos),和fromdos(相當(dāng)于dos2unix)
安裝完即可,現(xiàn)在你已經(jīng)可以進(jìn)行文本格式的轉(zhuǎn)換啦。
比如: todos Hello.txt (即unix2dos Hello.txt)
fromdos Hello.txt (即dos2unix Hello.txt)
PS :
編輯器IDE設(shè)置文件回車格式為unix格式
因?yàn)橐?hào)必須成對(duì)出現(xiàn), 如果敲了一個(gè)引號(hào), 沒有敲另一個(gè)引號(hào)那么 shell 認(rèn)為你在輸入一個(gè)跨行的字符串, 并用 提示你繼續(xù)輸入. 直到你輸入另一個(gè)配對(duì)的引號(hào)(單引號(hào)配單引號(hào), 雙引號(hào)配雙引號(hào), 圖中是反引號(hào),所以要再輸一個(gè)反引號(hào) `)才會(huì)結(jié)束. 不過如圖這樣的輸入并不有效, 輸入完配對(duì)引號(hào)敲回車倒是可以退出這種模式并"執(zhí)行" 這個(gè)命令, 但是應(yīng)該會(huì)報(bào)錯(cuò).
\就能換行 并且不影響你繼續(xù)寫命令,
出現(xiàn)可以繼續(xù)輸入命令。
例如:apache源代碼安裝,
./configure --prefix=/export/apache \
--enable-modules=most \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite
延展閱讀:
《Linux命令行技術(shù)大全》的編寫基于FedoraCore6操作系統(tǒng),2.6.18內(nèi)核,匯集了絕大部分命令的功能介紹、參數(shù)說明和注意事項(xiàng),并針對(duì)具體應(yīng)用列舉了大量示例,分別詳細(xì)地介紹了磁盤管理命令、文件管理、系統(tǒng)管理命令、網(wǎng)絡(luò)配置命令、網(wǎng)絡(luò)服務(wù)命令、系統(tǒng)應(yīng)用命令、系統(tǒng)安全命令及其他命令,以及Shell和Shell編程,使讀者真正做到學(xué)以致用?!禠inux命令行技術(shù)大全》內(nèi)容全面、語言簡(jiǎn)練、深入淺出、通俗易懂,既可作為即查即用的工具手冊(cè),也可作為了解Linux系統(tǒng)的參考書目?!禠inux命令行技術(shù)大全》同樣適用于其他Linux發(fā)行版,是Linux用戶必備的參考用書。
《Linux命令行技術(shù)大全》適合系統(tǒng)管理員、開發(fā)人員和高級(jí)用戶閱讀。
名稱欄目:linux回車命令符號(hào) linux 回車符
新聞來源:http://www.rwnh.cn/article2/ddosgoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站改版、云服務(wù)器、網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)