linux轉義字元
㈠ linux /r /n
CR :Carriage Return,對應ASCII中轉義字元\r ,0x0D(asc碼是13) 指的是「回車」 \r是把游標置於本行行首
LF :Linefeed,對應ASCII中轉義字元\n ,0x0A(asc碼是10) 指的是「換行」 \n是把游標置於下一行的同一列
CRLF:Carriage Return & Linefeed,\r\n , 0x0D + 0x0A ,指的是回車換行 \r\n把游標置於下一行行首
^M的原因 : ^M 注意要用 Ctrl + V Ctrl + M 來輸入
Dos、Windows 格式的文件,用 0D 0A (CR+LF)作為換行符,而Unix 的則是以0A(LF) 作為換行符.所以dos 底下的文本文件到了unix的話,換行符就會多出來一個 0D(CR) 顯示為 ^M,在linux中vim中無法顯示\r
因為ascii中對應的不是linux中的標准acsii字元,其實其對應的ASCII碼十進制形式是: 13 (無顯示形式);對應的八進制形式 15 (顯示為^M)從二進制層面來理解,即可以刪除換行符前面對應的字元位元組(我瞎編的,應該對的),在字元層面直接刪除^M這個位元組即可
方法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』,那麼當然通過刪除『\r』 ,也可以實現:
tr -d 『\r』
或者:
sed -i 's/\r//' startup.sh
window下默認是 \r\n
linux下是\n
unix下是\r
現在, 我們看看本文開頭部分的問題。 假設有一個linux下的unix.txt文件, 那麼, 它在文件中的換行標志是:\n, 現在把unix.txt拷貝靠Windows上, 那好啊, Windows那雙犀利的眼神彷彿是在對unix.txt文件說: 別跟我整什麼\n, 我只認識文件中的\r\n, 如果你這個unix.txt文件裡面有\r\n, 那我就認為是換行符, 否則, 我不認你。 如此一來, Windows壓根就找不到unix.txt中的\r\n, 所以, 對於Windows而言, 壓根就沒有發現unix.txt有任何換行, 所以, 我們從Windows上看到的unix.txt文件顯示在一行裡面。
㈡ 關於linux特殊含義的轉義符\033
格式: echo -e "\033[字背景顏色;字體顏色歲基m字元串\033[0m"
例如:
echo -e "\033[41;36m something here \033[0m"
其中41的位置代表底色, 36的位置是代表字的顏色
那些ascii code 是對顏色調用的始末.
\033[XX; m …… \033[0m #XX表示下面的數字
字顏色:30-----------37
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色
字背景顏色范圍:40----47
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色
字體加亮顏色:90------------97
90:黑
91:紅
92:綠
93:黃
94:藍色
95:紫色
96:深綠
97:白色
背景加亮顏色范圍:100--------------------107
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色
===============================================ANSI控制碼的說明
\33[0m 關閉所有屬性
\33[1m 設置高亮度
\33[4m 下劃線
\33[5m 閃爍
\33[7m 反顯
\33[8m 消隱
\33[30m -- \33[37m 設置前景色
\33[40m -- \33[47m 設置背景色
\33[nA 游標上移n行
\33[nB 游標下移鎮沖n行
\33[nC 游標右移n行
\33[nD 游標左移n行
\33[y;xH設置游標位置
\33[2J 清屏
\33[K 清除從光御雀殲標到行尾的內容
\33[s 保存游標位置
\33[u 恢復游標位置
\33[?25l 隱藏游標
\33[?25h 顯示游標
\x1b[2J\x1b[ 表示行位
參考:[ https://www.cnblogs.com/demonxian3/p/8963807.html]
㈢ linux中,\|是什麼意思
"\"在這里是一個轉義字元,'xxxx\|xxxx'表示的意思是'xxxx|xxxx'。其中的「|」是一個特殊字元,有「或」的功能,所以需要進行轉義。Linux需求可查看《Linux就該這么學》。
㈣ 如何使用linux read命令
read 命令在linux裡面的多數是用在寫shell腳本的時候,如果想知道參數的話自己查看幫助吧。常用的有 read -p 輸出 -s 把輸出作為命令保存 等等
㈤ * 在linux 中是什麼意思
* 代表0個或者多個特殊字元
在shell中也代表任意字元,比如ls a*,就是列出所用a開頭的文件,
其他命令具體的參考如下:
1. > 重定向輸出符號。
2. >>重定向輸出符號,但有追加的功能。
3. 2>錯誤重定向輸出符號,覆蓋原文件內容。
4. 2>>錯誤重定向輸出符號,有文件內容追加的功能。重定向:I/O。Linux Shell 環境中支持輸入輸出重定向,用符號<和>來表示。0、1和2分別表示標准輸入、標准輸出和標准錯誤信息輸出,可以用來指定需要重定向的標准輸入或輸出,比如 2>a.txt 表示將錯誤信息輸出到文件a.txt中。
5. * 代表0個或者多個特殊字元
6. ?匹配任意一個字元。
7. | 管道符號。解釋:command1|command2,將command1的輸出作為command2的輸入,比如ls -al|less,表示將ls -al的輸出作為less的輸入,即將la -al的輸出分頁。管道命令只接受標准輸入(standoutput)。
8. & 後台進程符。
9. &&l邏輯與符號。用法:命令1 && 命令2 表示如果命令1執行成功,繼續執行命令2。
10.|| 邏輯或符號。用法:命令1 | | 命令2 表示如果命令1執行成功,不執行命令2;但如果命令1執行失敗才執行命令2。
&&與||,命令執行是順序進行的,沒有優先順序
11.!邏輯非符號。排除指定范圍。例:ls a[!0-9]
12.[x-y]表示一定的范圍。學習Linux,知道Linux命令很重要,所以建議多看看Linux命令介紹,推薦《Linux命令大全(手冊)》,搜索方式如下:
13.# 注釋符;符合替換文字最短的那一個。14.」 」 雙引號表示把它所包含的內容作為普通字元,但` ` $ 『 『 幾個符號除外。15.』 』 單引號表示把它所包含的內容作為普通的字元,無特殊例外。16.$ 變數符,提取變數,如echo $HOME,查看變數;正則表達式中表示行首。17. 轉義字元,就是將特殊字元轉換成其本來的普通字元的意思。18.``反單引號,表示它所包含的內容。一般作為嵌入的命令使用,此命令將先執行。19.;命令分隔符。20.< 重定向輸入符。21.()表示整體執行命令。22.^反向選擇符,例:grep -n '^[^a-zA-Z]' wokao.txt,[]內的叫反向選擇符,[]外的則表示定位在行首。查找行首不是英文字母的行。23. . 點該表任意字元串
㈥ linux中轉義字元「\」的含義
轉義是 告訴shell不必特殊解釋這個字元,只把它當成字面上的意思.
但在一些命令和軟體包里,比如說echo和sed,轉義一個字元可能會引起穗遲一個相反的效果--因租燃為它們可能觸發那個字元的特殊意思. 他們是一些特殊的轉義序列,比如\r \n等等。
Linux就是這么規定的,記住就行猜型李了。