歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux裡必須掌握的命令

Linux裡必須掌握的命令

日期:2017/2/28 15:48:47   编辑:Linux教程
--------------------grep------------------------
工作方式:在一個或多個文件中搜索字符串模板,若模板包括空格,則必須被引用模板後的所有字符串被看作文件名,不影響原文件內容
常用參數:
-a:
將二進制文件以text文件的形式查找數據
-c:計算找到的字符串模板的次數,不會輸出與字符串模板符合的那一行內容,僅輸出次數
-i:忽略大小寫
-n:輸出時將行號一起輸出
-v:反向選擇,將沒有字符串模板的那一行輸出
--color=auto:將搜索到的字符串模板部分加上顏色(一般為默認,無需設置)
精確查找:
在字符串模板後面加上"\>"就可以讓字符串的查找更精確,如:
要查找"546",如果還存在"5462"、"5468",那麼執行命令grep "546"就會將"5462"和"5468"
都找出來,但是我們只想要"546",這個時候就可以這樣grep "546\>"。
-----------------sed---------------------------
工作方式:
以行為單位,對數據的每一行進行替換、刪除、新增、選取等操作,不能對單行進行操作
常用參數:
-n:
安靜模式,當要求把選取的特定行打印出來時,就會使用這個參數,保證不會重復輸出特定行,如果不加這個參數,一般是將每行重復輸出兩次再輸出下一特定

-f:直接將sed的動作寫入一個文件內,加上-f filename時就可以執行filename中的sed動作,注意:filename中不能加單引號或雙引號,如果動作本來是'2a Hello',則在filename中應該只寫上2a Hello,什麼都不要加
-r:可以讓sed的操作支持擴展正則表達式(sed默認是基礎正則表達式)
-i:直接修改讀取的文件內容,不會由屏幕輸出(危險!!!雖然貌似sed可以做vim
的一些動作了)
-----------------awk------------------------------
工作方式:
相比於sed處理一行一行的數據,awk處理的是一行中的各個字段的處理,它的每一個動作用"{}"包含,同樣所有動作都要放在一對單引號中,這樣的話它的動作裡不允許再出現單引號,www.linuxidc.com 只能用雙引號代替,它的默認字段分隔符為空格或制表鍵

注意它與grep、sed的比較!!!

常用功能:
NF:每一行擁有的字段總數,可用print直接打印
NR:當前處理的行號,也可用print直接打印
FS:當前的分隔符,默認為空格或制表鍵,設置方法"BEGIN {FS=":"}",這樣就可以以冒號為字段分隔符了,分為$1,$2,$3......,在/etc/passwd文件中比較有用
awk支持條件判斷
-----------------sort------------------------
工作方式:根據選定的排序方式對整個文件數據進行排序輸出,可以字母、數字、
一定區間內的排序輸出,還可以反向輸出
常用參數:
-f:
忽視大小寫(和grep的-i參數功能一樣,為什麼同樣的功能,參數要整得不一樣唉)
-b:忽視每行開頭的空格符,b可以記為blank,-b就減掉blank
-M:以月份的名字來排序,在浏覽文件的時候就可以用這個參數來按時間排序輸出
-n:以數字排序(默認為文字類型排序),n可以記為number
-r:反序並輸出,r可以記為reverse
-u:uniq命令的功能,將重復行輸出一行即可
-t:分隔符(默認為tab鍵),修改方法-t ':',這樣就可以改為以冒號來分隔了,在
/etc/passwd有用,和awk的FS設置類似
-k:以哪一個區間來進行排序,通常結合-t,當需要被排序的內容是以tab鍵來分隔的就不提了,若是想/etc/passwd以冒號分隔的話,就需要用-t來修改分隔符,然後-k再加要被作為排序標准的字段符
-----------------wc-------------------------
工作方式:將整個文件的字數、行數、字符數進行統計,當然也可以用grep或sed提出特定行來統計特定行的字數等
常用參數:
-l:
僅列出行數,line
-w:僅列出字數(單詞數),word
-m:僅列出字符數(是不是該用-c,和wc、characterize對應嘛。。。)
如果只是執行wc而不加上任何參數,那麼將會列出所有信息,依次為:行數、字數、字符數
Copyright © Linux教程網 All Rights Reserved