進行Linux系統(tǒng)維護的時候,想要在文本中快速搜索到你需要的東西,grep命令是非常不錯的選擇,它主要用于查找文件里符合條件的字符串,從而節(jié)省時間、提高工作效率。那么Linux系統(tǒng)中grep命令如何使用?我們一起來看看詳細的內(nèi)容介紹。
創(chuàng)新互聯(lián)建站是一家朝氣蓬勃的網(wǎng)站建設公司。公司專注于為企業(yè)提供信息化建設解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),微信小程序,10多年建站對成都服務器托管等多個行業(yè),擁有豐富的網(wǎng)站制作經(jīng)驗。
Linux grep命令用于查找文件里符合條件的字符串。
grep指令用于查找內(nèi)容包含指定的范本樣式的文件,如果發(fā)現(xiàn)某文件的內(nèi)容符合所指定的范本樣式,預設grep指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為-,則grep指令會從標準輸入設備讀取數(shù)據(jù)。
語法
grep
[-abcEFGhHilLnqrsvVwxy][-A顯示行數(shù)][-B顯示列數(shù)][-C顯示列數(shù)][-d進行動作][-e范本樣式][-f范本文件][--help][范本樣式][文件或目錄...]
參數(shù)
-a或--text:不要忽略二進制的數(shù)據(jù)。
-A顯示行數(shù)或--after-context=顯示行數(shù):除了顯示符合范本樣式的那一列之外,并顯示該行之后的內(nèi)容。
-b或--byte-offset:在顯示符合樣式的那一行之前,標示出該行第一個字符的編號。
-B顯示行數(shù)或--before-context=顯示行數(shù):除了顯示符合樣式的那一行之外,并顯示該行之前的內(nèi)容。
-c或--count:計算符合樣式的列數(shù)。
-C顯示行數(shù)或--context=顯示行數(shù)或-顯示行數(shù):除了顯示符合樣式的那一行之外,并顯示該行之前后的內(nèi)容。
-d動作或--directories=動作:當指定要查找的是目錄而非文件時,必須使用這項參數(shù),否則grep指令將回報信息并停止動作。
-e范本樣式或--regexp=范本樣式:指定字符串做為查找文件內(nèi)容的樣式。
-E或--extended-regexp:將樣式為延伸的正則表達式來使用。
-f規(guī)則文件或--file=規(guī)則文件:指定規(guī)則文件,其內(nèi)容含有一個或多個規(guī)則樣式,讓grep查找符合規(guī)則條件的文件內(nèi)容,格式為每行一個規(guī)則樣式。
-F或--fixed-regexp:將樣式視為固定字符串的列表。
-G或--basic-regexp:將樣式視為普通的表示法來使用。
-h或--no-filename:在顯示符合樣式的那一行之前,不標示該行所屬的文件名稱。
-H或--with-filename:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
………………
參數(shù)較多,就不為大家一一講解了!
Linux中l(wèi)ess命令有什么作用?在Linux系統(tǒng)中,less命令的用法與more命令類似,它可以用來隨意瀏覽文件,且支持翻頁、搜索,還支持向上翻頁、向下翻頁,接下來我們一起來看看詳細的內(nèi)容介紹。
語法
less [參數(shù)] 文件
參數(shù)說明
-b 緩沖區(qū)大小設置緩沖區(qū)的大小;
-e 當文件顯示結束后,自動離開;
-f 強迫打開特殊文件,例如外圍設備代號、目錄和二進制文件;
-g 只標志最后搜索的關鍵詞;
-i 忽略搜索時的大小寫;
-m 顯示類似more命令的百分比;
-N 顯示每行的代號;
-o 文件名將less輸出的內(nèi)容在指定文件中保存起來;
-Q 不使用警告音;
-s 顯示連續(xù)空行為一行;
-S 行過長時間將超出部分舍棄;
-x 數(shù)字將tab鍵顯示為規(guī)定的數(shù)字空格;
/字符串:向下搜索字符串的功能;
?字符串:向上搜索字符串的功能;
n 重復前一個搜索;
N 反向重復前一個搜索;
b 向上翻一頁;
d 向后翻半頁;
h 顯示幫助界面;
Q 退出less命令;
…………
通過 touch 命令創(chuàng)建五個日志文件,在Linux系統(tǒng)中,一個文件有三個時間參數(shù),分別是atime,mtime,ctime。
access time(atime):顯示的是文件中的數(shù)據(jù)最后被訪問的時間。
modify time(mtime):顯示的是文件內(nèi)容被修改的最后時間。當修改文件的內(nèi)容數(shù)據(jù)的時候,就會更新這個時間,而更改權限或者屬性,mtime不會改變,這就是和ctime的區(qū)別。
change time(ctime):顯示的是文件的權限、擁有者、所屬的組、鏈接數(shù)發(fā)生改變時的時間。當然當內(nèi)容改變時也會隨之改變。
當修改文件內(nèi)容時,三個時間都發(fā)生了改變。
當修改文件權限時,只有ctime發(fā)生了改變。
當前時間27號22:03,
+2 表示的是查找 24號22:03前的文件
+3 表示的是查找 23號22:03前的文件
3 表示的是查找23號22:03 到 24號22:03 之間的文件
-3 表示的查找24號22:03 到 27號22:03之間的文件
Linux的命令每個命令后面通常會可以帶多個參數(shù)的。僅有單個參數(shù)的命令比較少。
這些可選的參數(shù)通常情況下可能并不會全部用到,通常僅用其中一個或兩個的居多
命令具體可以使用什么參數(shù),可以由幫助來查詢細節(jié)內(nèi)容
PID 每個進程的ID。
PPID 每個進程的父進程ID。
UID 每個進程所有者的UID 。
USER 每個進程所有者的用戶名。
PRI 每個進程的優(yōu)先級別。
NI 該進程的優(yōu)先級值。
SIZE 該進程的代碼大小加上數(shù)據(jù)大小再加上堆棧空間大小的總數(shù)。單位是KB。
TSIZE 該進程的代碼大小。對于內(nèi)核進程這是一個很奇怪的值。
DSIZE 數(shù)據(jù)和堆棧的大小。
TRS 文本駐留大小。
D 被標記為“不干凈”的頁項目。
LIB 使用的庫頁的大小。對于ELF進程沒有作用。
RSS 該進程占用的物理內(nèi)存的總數(shù)量,單位是KB。
SHARE 該進程使用共享內(nèi)存的數(shù)量。
STAT 該進程的狀態(tài)。其中S代表休眠狀態(tài);D代表不可中斷的休眠狀態(tài);R代表運行狀態(tài);Z代表僵死狀態(tài);T代表停止或跟蹤狀態(tài)。
TIME 該進程自啟動以來所占用的總CPU時間。如果進入的是累計模式,那么該時間還包括這個進程子進程所占用的時間。且標題會變成CTIME。
%CPU 該進程自最近一次刷新以來所占用的CPU時間和總時間的百分比。
%MEM 該進程占用的物理內(nèi)存占總內(nèi)存的百分比。
COMMAND 該進程的命令名稱,如果一行顯示不下,則會進行截取。內(nèi)存中的進程會有一個完整的命令行。
第一種:參數(shù)用一橫的說明后面的參數(shù)是字符形式。
第二種:參數(shù)用兩橫的說明后面的參數(shù)是單詞形式。
第三種:參數(shù)前有橫的是 System V風格。
第四種:參數(shù)前沒有橫的是 BSD風格。
有關System V和BSD的其他區(qū)別:
系統(tǒng)啟動過程中 kernel 最后一步調(diào)用的是 init 程序,init 程序的執(zhí)行有兩種風格,即 System V 和 BSD。
System V 風格中 init 調(diào)用 /etc/inittab,BSD 風格調(diào)用 /etc/rc,它們的目的相同,都是根據(jù) runlevel 執(zhí)行一系列的程序。