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