linux常用命令解析
生活随笔
收集整理的這篇文章主要介紹了
linux常用命令解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
tr [-ds] SET1 參數說明:
-d? :刪除 SET1 這個字符串
-s? :取代掉重復的字符!
范例:
[root @test /root]# last | tr '[a-z]' '[A-Z]'???????? <==將小寫改成大寫
[root @test /root]# cat /etc/passwd | tr -d :?????? <==嘿嘿! : 這個符號在 /etc/passwd 中不見了!
[root @test /root]# cat /home/test/dostxt | tr -d '\r' > dostxt-noM?? <==將 DOS 檔案的字尾符號 ^M 的符號去除!
說明:
其實這個指令也可以寫在『正規表示法』里頭!因為他也是由正規表示法的方式來取代數據的!以
上面的例子來說,使用 [] 可以設定一串字呢!也常常用來取代檔案中的怪異符號!例如上面第三個
例子當中,可以去除 DOS 檔案留下來的 ^M 這個斷行的符號!這東西相當的有用!相信處理 Linux & Windows 系統中的人們最麻煩的一件事就是這個事情啦!亦即是 DOS 底下會自動的在每行行尾加入 ^M 這個斷行符號!這個時候我們可以使用這個 tr 來將 ^M 去除! ^M 可以使用 \r 來代 ? grep
語法:
[root @test /root ]# grep [-acinv] '搜尋字符串' filename
參數說明:
-a :將 binary 檔案以 text 檔案的方式搜尋數據
-c :計算找到 '搜尋字符串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內容的那一行!
范例:
[root @test /root]# grep 'root' /var/log/secure?
將 /var/log/secure 這個檔案中有 root 的那一行秀出來
[root @test /root]# grep -v 'root' /var/log/secure
若該行沒有 root 才將數據秀出來到屏幕上!
[root @test /root]# last | grep root
若該行有 root 才將數據秀出來到屏幕上!
[root @test /root]# grep [A-Z]ANPATH /etc/man.config
將 /etc/man.config 這個檔案當中,所有有:
[任何一個大寫字符]后面接 ANPATH 的那一行就顯示出來!
例如 AANPATH, BANPATH.... ZANPATH 等等!
說明: grep 是一個很常見的指令,最重要的功能就是進行字符串數據的比對了,需要說明的是『grep 在一個檔案中查尋一個字符串時,他是以"整行"為單位來數據的擷取的!』也就是說,假如一個檔案內有 10 行,其中有兩行具有你所搜尋的字符串,則將那兩行顯示在屏幕上,其它的就丟棄了!而 grep 除了可以進行檔案的資料搜尋之外,也常常被應用在 input/output 的數據處理當中,例如常見的管線命令 ( pipe ) 就可以常常到他的蹤影!以上面的例子來看,我們可以發現前兩個例子是查尋檔案的內容,有沒有加上 -v 所顯示出來的結果是『相反的!』,而第三個例子則是以 pipe 的功能進行數據的處理的喔! 例題一:找出這個檔案里面含有 know 這個字符,并將行號列出來: [root @test /root ]# grep -n 'know' regexp.txt
3:* I don't know how to do this *
grep 會一行一行的去比對 know 這個字符串,請注意,大小寫是不一樣的!
當該行里面沒有 know 這個字符串時, grep 就會將該行舍棄而不顯示出來,
不過,到第三行時,出現了 know 了,所以第三行就會被顯示出來啦!
例題二:找出這個檔案里面含有 * 這個字符,并將行號列出來:
[root @test /root ]# grep -n '\*' regexp.txt
3:* I don't know how to do this *
請特別留意喔,在正規表示法里面有相當多的『特殊字符』存在,而要
取消掉這些特殊字符的屬性時,反斜線『\』的存在就顯的特別重要了!
在這個例子中,或許你會發現使用 grep -n '*' regexp.txt 也可以得到
相同的結果,但是,良好的習慣是需要養成的,這里,請以較為正統的
正規表示法來去除 * 這個特殊字符的屬性,對您以后一定會有很多的好處的!
例題三:我要將所有 know 不論大小寫都列出來,并列出行號:
[root @test /root]# grep -ni 'know' regexp.txt
3:* I don't know how to do this *
4:# I don't Know how to do this $
5:^ I don't KNOW how to do this @
如果不理會大小寫的差異,加入 -i 這個參數吧!列出行號就以 -n 來達成!
-d? :刪除 SET1 這個字符串
-s? :取代掉重復的字符!
范例:
[root @test /root]# last | tr '[a-z]' '[A-Z]'???????? <==將小寫改成大寫
[root @test /root]# cat /etc/passwd | tr -d :?????? <==嘿嘿! : 這個符號在 /etc/passwd 中不見了!
[root @test /root]# cat /home/test/dostxt | tr -d '\r' > dostxt-noM?? <==將 DOS 檔案的字尾符號 ^M 的符號去除!
說明:
其實這個指令也可以寫在『正規表示法』里頭!因為他也是由正規表示法的方式來取代數據的!以
上面的例子來說,使用 [] 可以設定一串字呢!也常常用來取代檔案中的怪異符號!例如上面第三個
例子當中,可以去除 DOS 檔案留下來的 ^M 這個斷行的符號!這東西相當的有用!相信處理 Linux & Windows 系統中的人們最麻煩的一件事就是這個事情啦!亦即是 DOS 底下會自動的在每行行尾加入 ^M 這個斷行符號!這個時候我們可以使用這個 tr 來將 ^M 去除! ^M 可以使用 \r 來代 ? grep
語法:
[root @test /root ]# grep [-acinv] '搜尋字符串' filename
參數說明:
-a :將 binary 檔案以 text 檔案的方式搜尋數據
-c :計算找到 '搜尋字符串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內容的那一行!
范例:
[root @test /root]# grep 'root' /var/log/secure?
將 /var/log/secure 這個檔案中有 root 的那一行秀出來
[root @test /root]# grep -v 'root' /var/log/secure
若該行沒有 root 才將數據秀出來到屏幕上!
[root @test /root]# last | grep root
若該行有 root 才將數據秀出來到屏幕上!
[root @test /root]# grep [A-Z]ANPATH /etc/man.config
將 /etc/man.config 這個檔案當中,所有有:
[任何一個大寫字符]后面接 ANPATH 的那一行就顯示出來!
例如 AANPATH, BANPATH.... ZANPATH 等等!
說明: grep 是一個很常見的指令,最重要的功能就是進行字符串數據的比對了,需要說明的是『grep 在一個檔案中查尋一個字符串時,他是以"整行"為單位來數據的擷取的!』也就是說,假如一個檔案內有 10 行,其中有兩行具有你所搜尋的字符串,則將那兩行顯示在屏幕上,其它的就丟棄了!而 grep 除了可以進行檔案的資料搜尋之外,也常常被應用在 input/output 的數據處理當中,例如常見的管線命令 ( pipe ) 就可以常常到他的蹤影!以上面的例子來看,我們可以發現前兩個例子是查尋檔案的內容,有沒有加上 -v 所顯示出來的結果是『相反的!』,而第三個例子則是以 pipe 的功能進行數據的處理的喔! 例題一:找出這個檔案里面含有 know 這個字符,并將行號列出來: [root @test /root ]# grep -n 'know' regexp.txt
3:* I don't know how to do this *
grep 會一行一行的去比對 know 這個字符串,請注意,大小寫是不一樣的!
當該行里面沒有 know 這個字符串時, grep 就會將該行舍棄而不顯示出來,
不過,到第三行時,出現了 know 了,所以第三行就會被顯示出來啦!
例題二:找出這個檔案里面含有 * 這個字符,并將行號列出來:
[root @test /root ]# grep -n '\*' regexp.txt
3:* I don't know how to do this *
請特別留意喔,在正規表示法里面有相當多的『特殊字符』存在,而要
取消掉這些特殊字符的屬性時,反斜線『\』的存在就顯的特別重要了!
在這個例子中,或許你會發現使用 grep -n '*' regexp.txt 也可以得到
相同的結果,但是,良好的習慣是需要養成的,這里,請以較為正統的
正規表示法來去除 * 這個特殊字符的屬性,對您以后一定會有很多的好處的!
例題三:我要將所有 know 不論大小寫都列出來,并列出行號:
[root @test /root]# grep -ni 'know' regexp.txt
3:* I don't know how to do this *
4:# I don't Know how to do this $
5:^ I don't KNOW how to do this @
如果不理會大小寫的差異,加入 -i 這個參數吧!列出行號就以 -n 來達成!
轉載于:https://blog.51cto.com/luoluo/51749
總結
以上是生活随笔為你收集整理的linux常用命令解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 茶艺人生
- 下一篇: mysql varchar char t