版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
linux日志審計工具單獨(dú)工具介紹Findfind是一個在Linux和Unix系統(tǒng)中用于搜索文件系統(tǒng)中文件的命令行工具。它可以基于各種條件來查找文件,比如文件名、文件類型、大小、權(quán)限、所有者、修改日期等。find是一個功能強(qiáng)大且靈活的工具,非常適合執(zhí)行復(fù)雜的搜索任務(wù)。基本語法find[路徑][選項(xiàng)][操作]
路徑:指定find命令開始搜索的目錄路徑。如果沒有指定路徑,find默認(rèn)在當(dāng)前目錄及其子目錄下搜索。選項(xiàng):定義搜索條件。find可以使用多個條件來精確匹配所需的文件。操作:對找到的文件執(zhí)行的操作。如果不指定操作,默認(rèn)操作是打印所有找到的文件路徑到標(biāo)準(zhǔn)輸出。常見選項(xiàng)-name:根據(jù)文件名搜索。-type:根據(jù)文件類型搜索(例如:-typef僅搜索普通文件,-typed僅搜索目錄)。-size:根據(jù)文件大小搜索。-perm:根據(jù)文件權(quán)限搜索。-user:根據(jù)文件所有者搜索。-group:根據(jù)文件所屬的組搜索。-mtime,-atime,-ctime:根據(jù)修改時間、訪問時間或狀態(tài)變化時間搜索。-exec:對搜索到的文件執(zhí)行指定的命令。示例搜索當(dāng)前目錄及子目錄下所有的**.txt**文件:find.-typef-name"*.txt"
搜索**/home**目錄下所有屬于用戶**bob**的文件:find/home-typef-userbob
搜索**/var/log**目錄下最近7天內(nèi)被修改過的文件:find/var/log-typef-mtime-7
刪除**/tmp**目錄下所有**.tmp**文件:find/tmp-typef-name"*.tmp"-execrm{}\;
在這個命令中,-exec后面的{}是找到的文件名的占位符,\;表示-exec參數(shù)的結(jié)束。搜索大小超過50MB的文件:find/-typef-size+50M
grep基本語法grep[options]pattern[file...]
pattern:要搜索的文本模式。這可以是普通字符串或正則表達(dá)式。file...:要搜索的文件名列表。如果未指定文件,grep通常會從標(biāo)準(zhǔn)輸入讀取。常用選項(xiàng)-i:忽略大小寫。-v:反向匹配,選擇不包含指定模式的行。-r或-R:遞歸搜索,查找所有文件。-l:只打印包含匹配模式的文件名,而不是匹配的文本行。-n:打印每個匹配行的行號。-c:統(tǒng)計匹配模式的行數(shù),而不是打印匹配的行。-e:允許使用多個搜索模式。-o:只輸出匹配模式的部分,而不是整行。示例搜索文件中的文本查找文件file.txt中包含"example"的所有行:grep"example"file.txt
忽略大小寫地搜索查找文件中包含"example"(無論大小寫)的所有行:grep-i"example"file.txt
反向匹配選擇不包含"example"的行:grep-v"example"file.txt
遞歸搜索在當(dāng)前目錄及子目錄下搜索包含"example"的所有.txt文件:grep-r"example"*.txt
打印匹配行的行號打印file.txt內(nèi)容中包含"example"的行及其行號:grep-n"example"file.txt
統(tǒng)計匹配行的數(shù)量獲取文件中包含"example"的行數(shù):grep-c"example"file.txt
使用多個模式查找文件中包含"example"或"test"的行:grep-e"example"-e"test"file.txt
只輸出匹配到的文本部分如果一行中包含多次出現(xiàn)的模式,只打印匹配到的模式部分,而非整行:grep-o"ex[a-z]*"file.txt
強(qiáng)行匹配grep-a"search_pattern"file
提取ipgrep-oP'(?<=from)(\d{1,3}\.){3}\d{1,3}'your_log_file.log
-o選項(xiàng)告訴grep僅輸出與正則表達(dá)式匹配的部分。-P選項(xiàng)啟用PCRE。正則表達(dá)式**(?<=from)(\d{1,3}.){3}\d{1,3}**查找'from'之后跟隨的IP地址。wc基本語法wc[OPTION]...[FILE]...
OPTION:選擇計數(shù)的模式,包括行數(shù)、單詞數(shù)、字符數(shù)等。FILE:指定一個或多個文件名。如果沒有指定文件或文件為-,wc會從標(biāo)準(zhǔn)輸入讀取。常見選項(xiàng)-l:只計算行數(shù)。-w:只計算單詞數(shù)(以空白字符分隔的字符串)。abcabc-c:只計算字節(jié)數(shù)。-m:只計算字符數(shù)。與-c的區(qū)別在于處理多字節(jié)字符時的統(tǒng)計方式不同。示例方便做數(shù)據(jù)匯總計算文件的行數(shù)如果你想知道一個文件中包含多少行:wc-lfile.txt
計算文件的單詞數(shù)獲取文件中單詞的總數(shù):wc-wfile.txt
計算文件的字節(jié)數(shù)查看文件占用了多少字節(jié):wc-cfile.txt
計算文件的字符數(shù)統(tǒng)計文件中字符的總數(shù):wc-mfile.txt
對多個文件進(jìn)行統(tǒng)計你可以同時對多個文件進(jìn)行統(tǒng)計,并且wc會提供每個文件的統(tǒng)計數(shù)和一個總計數(shù):wcfile1.txtfile2.txt
結(jié)合使用其他命令wc常與管道一起使用,以統(tǒng)計其他命令的輸出。例如,統(tǒng)計當(dāng)前目錄下文件的數(shù)量:ls|wc-l
awk基本語法awk'pattern{action}'input-file(s)
pattern:指定一個條件,只有滿足條件的行才執(zhí)行大括號中的action。action:一組命令,當(dāng)行匹配pattern時,執(zhí)行這些命令。常見選項(xiàng)-F:指定輸入文件的字段分隔符。-v:定義一個變量。-f:從腳本文件中讀取awk程序。示例打印文件的每一行awk'{print}'file.txt
打印文件特定列打印第一列和第三列:awk'{print$1,$3}'file.txt
使用自定義字段分隔符使用逗號作為分隔符,打印第二列:awk-F,'{print$2}'file.txt
awk-F"notty"'{print$2}'btmp.1
-F后面不能接空格,{}外面只能接單引號
條件過濾和打印打印第三列大于100的所有行:awk'$3>100{print}'file.txt
對列值求和對第二列的所有值求和:awk'{sum+=$2}END{printsum}'file.txt
使用正則表達(dá)式打印包含"success"的行:awk'/success/{print}'file.txt
格式化輸出按格式打印多列:awk'{printf"Name:%s,ID:%s\n",$1,$2}'file.txt
傳遞外部變量給**awk**將shell變量傳遞給awk:name="Alice"
awk-vname="$name"'$1==name{print}'file.txt
從**awk**腳本文件中執(zhí)行先創(chuàng)建一個awk腳本文件filter.awk:$1>100
然后執(zhí)行:awk-ffilter.awkfile.txt
提取ipawk'/Failedpasswordforroot/{print$11}'your_log_file.log
這里:/Failedpasswordforroot/是匹配條件,awk只會對包含這個字符串的行進(jìn)行操作。{print$11}是動作部分,告訴awk打印每行的第11個字段(空格區(qū)分字段),根據(jù)你的日志樣本,IP地址恰好是第11個字段。把','換成換行符(\n)awk'{gsub(",","\n",$0);print$0}'
uniq基本語法uniq[OPTION]...[INPUT[OUTPUT]]
OPTION:控制uniq的行為。INPUT:指定輸入文件。如果未指定或?yàn)?,則從標(biāo)準(zhǔn)輸入讀取。OUTPUT:指定輸出文件。如果未指定,結(jié)果輸出到標(biāo)準(zhǔn)輸出。常見選項(xiàng)-c:前置行數(shù),顯示每行在文件中出現(xiàn)的次數(shù)。-d:只打印重復(fù)行,每個重復(fù)組只打印一次。-u:僅顯示唯一行。-i:忽略大小寫差異比較行。示例檢測重復(fù)行只顯示文件中的重復(fù)行:sortfile.txt|uniq-d
計數(shù)每行出現(xiàn)的次數(shù)對文件排序后,計數(shù)每行出現(xiàn)的次數(shù):sortfile.txt|uniq-c
顯示唯一的行顯示文件中唯一的行:sortfile.txt|uniq-u
忽略大小寫比較重復(fù)的行在進(jìn)行重復(fù)行檢測時忽略大小寫:sortfile.txt|uniq-i-d
組合**sort**和**uniq**進(jìn)行去重將排序和去重合并輸出到另一個文件:sortfile.txt|uniq>sorted_unique_file.txt
使用自定義輸出檢測重復(fù)行并將結(jié)果輸出到指定文件:sortfile.txt|uniq-d-ooutput.txt
注意:-o選項(xiàng)實(shí)際上并不存在于uniq命令中。輸出通常是通過重定向完成的,上面的命令應(yīng)該修正為沒有-o的版本,直接使用>進(jìn)行重定向。uniq命令的強(qiáng)大之處在于其簡便性和與sort命令結(jié)合使用時的效能。了解如何有效使用這些工具,可以極大提高你的文本處理能力,特別是在處理大型數(shù)據(jù)集時。Sort基本語法sort[OPTION]...[FILE]...
OPTION:控制排序行為的命令行選項(xiàng)。FILE:指定一個或多個要排序的文件。如果沒有指定文件或指定為-,則讀取標(biāo)準(zhǔn)輸入。常見選項(xiàng)-n:根據(jù)數(shù)值進(jìn)行排序。-r:倒序排序。-k:指定按照哪一列或字段排序。-t:指定字段之間的分隔符,默認(rèn)是空白字符。-u:刪除重復(fù)的行,只保留唯一行。-o:指定輸出文件。示例按字母排序?qū)ξ募ile.txt的內(nèi)容進(jìn)行字母排序:sortfile.txt
按數(shù)值排序?qū)?shù)值進(jìn)行排序:sort-nnumbers.txt
倒序排序?qū)ξ募M(jìn)行倒序排序:sort-rfile.txt
按特定列排序根據(jù)第二列的數(shù)值進(jìn)行排序:sort-k2-nfile.txt
使用自定義分隔符當(dāng)列由特定字符分隔時,使用-t選項(xiàng)指定分隔符。例如,使用冒號分隔:sort-t:-k3file.txt
刪除排序過程中的重復(fù)行在排序時去除重復(fù)行:sort-ufile.txt
將排序結(jié)果輸出到文件將排序結(jié)果直接輸出到另一個文件:sortfile.txt-osorted_file.txt
結(jié)合多個排序標(biāo)準(zhǔn)先按第一列字母排序,再按第二列的數(shù)值逆序排序:sort-k1,1-k2,2nrfile.txt
cutcut命令是Linux和Unix系統(tǒng)中用于文本處理的非常有用的工具。它袽用來提取文本文件中的列或字段。你可以指定一個分隔符,該分隔符將每行文本分隔成多個字段。默認(rèn)情況下,cut命令用制表符作為字段分隔符,但你可以通過-d選項(xiàng)指定不同的字符。cut最常見的用法包括提取文件中特定的列或列范圍。語法cut命令的基本語法如下:cutOPTION...[FILE]...
其中,OPTION可以是多種選項(xiàng)的組合,用來指定如何選擇字段和字符,[FILE]...是一個或多個文件名參數(shù)。如果沒有指定文件名,或者文件名是-,cut命令會從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)。主要選項(xiàng)-dDELIMITER:指定字段分隔符,默認(rèn)是制表符。這允許你指定任何字符作為字段分隔符。-fFIELDS:選擇由-d選項(xiàng)指定的分隔符分隔的字段。你可以指定一個字段編號、一個字段范圍(例如,2-5表示第2到第5個字段),或者這兩種的組合。-cLIST:選擇字符(而非字段)。和-f一樣,你可以指定一個字符位置、一個范圍或兩者的組合。-bLIST:同-c,但選擇的是字節(jié)位置。這在處理多字節(jié)字符時會有所不同。實(shí)例提取第一列:cut-d','-f1file.txt
這個命令提取file.txt中每行的第一字段,假定字段由逗號分隔。提取多列:cut-d''-f1,3,5file.txt
這個命令提取由空格分隔的第1、第3和第5個字段。提取范圍內(nèi)的列:cut-d':'-f2-4file.txt
如果file.txt中的字段由冒號分隔,這個命令會提取第2到第4列。提取字符:cut-c1-10file.txt
這個命令提取每一行的前10個字符。組合字段和字符范圍:有時候,你可能需要組合使用字段和字符選項(xiàng),但cut命令不支持這樣做。在這種情況下,你通常會將cut命令與其他文本處理工具(比如awk或sed)結(jié)合使用。注意事項(xiàng)如果指定的字段不存在,cut命令不會輸出錯誤,相反,對于那一行,什么都不會輸出。如果輸入包含不規(guī)則的行,比如某些行缺少某些字段,結(jié)果可能會讓人困惑。在這種情況下,使用awk可能會更靈活。cut命令是文本處理工具箱中的一個簡單但強(qiáng)大的工具,適用于快速的文本列提取任務(wù)。掌握它對于日常處理文本數(shù)據(jù)來說非常有用。組合使用常見組合1.統(tǒng)計文件中最常出現(xiàn)的單詞這個任務(wù)可以通過組合使用awk、sort、uniq和wc實(shí)現(xiàn)。使用awk提取所有單詞。使用sort對單詞進(jìn)行排序。使用uniq-c對排序后的單詞進(jìn)行去重,并計數(shù)。使用sort-nr再次對結(jié)果進(jìn)行數(shù)值排序。使用head獲取出現(xiàn)次數(shù)最多的前N個單詞。運(yùn)用最多場景就是統(tǒng)計登陸失敗的前十個ipawk'{for(i=1;i<=NF;i++)print$i}'file.txt|sort|uniq-c|sort-nr|head-n10
這個命令序列假定文件中的單詞已經(jīng)通過空格進(jìn)行分隔。2.統(tǒng)計特定類型文件的行數(shù)如果你想統(tǒng)計當(dāng)前目錄下所有.txt文件的行數(shù),可以使用以下命令:cat*.txt|wc-l
透過cat*.txt將所有.txt文件的內(nèi)容送入wc-l來計算總行數(shù)。3.提取并統(tǒng)計每個獨(dú)立IP地址的訪問次數(shù)假設(shè)你有一個日志文件access.log,每行包含一個IP地址,代表一個訪問請求,你想知道每個IP地址分別訪問了多少次。在日志里面經(jīng)常使用的awk'{print$1}'access.log|sort|uniq-c|sort-nr
在這個例子中,awk'{print$1}'假設(shè)IP地址位于每行的第一列。如果實(shí)際情況不同,請相應(yīng)地調(diào)整列的編號。4.檢查哪些行是唯一的如果你想知道文件file.txt中哪些行是唯一的,可以使用:sortfile.txt|uniq-u
這會列出所有只出現(xiàn)一次的行。5.計算多個文件中不同單詞的總數(shù)對于多個文本文件,如果你想知道包含的不同單詞總數(shù),可以用:catfile1.txtfile2.txt|tr'''\n'|sort|uniq|wc-l
這里,tr'''\n'是用來將空格替換為換行符,從而讓每個單詞單獨(dú)占一行,方便后續(xù)的sort、uniq和wc處理。find+grepfind用于查找滿足條件的文件和目錄,而grep用于搜索文件內(nèi)容??焖俣ㄎ荒抉R位置基本示例在目錄及其所有子目錄中查找包含"search_pattern"的所有.txt文件:find/path/to/directory-typef-name"*.txt"-execgrep"search_pattern"{}+
這個命令解釋如下:/path/to/directory:你要搜索的目錄路徑。-typef:表示你只對文件感興趣。-name"*.txt":指定文件名模式,只搜索.txt文件。-execgrep"search_pattern"{}+:對所有找到的文件執(zhí)行g(shù)rep"search_pattern"。{}是一個占位符,代表find找到的文件名。+表示將所有找到的文件名一次性傳遞給grep。只打印包含文本的文件名如果你只想打印出包含"search_pattern"的.log文件名稱,而不顯示匹配的行,可以使用-l選項(xiàng)(小寫的L):find/path/to/directory-typef-name"*.log"-execgrep-l"search_pattern"{}+
搜索多種文件類型可以組合使用多個-name選項(xiàng),通過-o(或邏輯)將它們連接起來,用來搜索多種類型的文件:find/path/to/directory-typef\(-name"*.txt"-o-name"*.log"\)-execgrep"search_pattern"{}+
使用xargs來提高效率對于文件數(shù)目非常多的情況,使用xargs可能會更高效:find/path/to/directory-typef-name"*.txt"|xargsgrep"search_pattern"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基業(yè)長青課件
- 中國鉀鹽市場供需預(yù)測與進(jìn)口替代戰(zhàn)略研究報告
- 中國金融科技支付市場發(fā)展現(xiàn)狀及創(chuàng)新方向與競爭格局研究報告
- 中國金融科技產(chǎn)業(yè)鏈全景分析及競爭策略研究報告
- 中國金屬3D打印技術(shù)應(yīng)用領(lǐng)域及產(chǎn)業(yè)化進(jìn)程研究報告
- 中國酒店工程專用門市場供需格局與采購標(biāo)準(zhǔn)研究報告
- 2026云南臨滄永德縣盛景貿(mào)易有限責(zé)任公司配送人員招聘20人備考題庫附參考答案詳解(典型題)
- 2026上半年安徽事業(yè)單位聯(lián)考合肥市巢湖市招聘22人備考題庫附答案詳解(典型題)
- 患者交接管理制度試題及答案
- 2026一重集團(tuán)國際有限責(zé)任公司面向集團(tuán)內(nèi)部及社會招聘業(yè)務(wù)人員備考題庫含答案詳解(滿分必刷)
- 尼帕病毒病的預(yù)防控制專題學(xué)習(xí)課件
- 2026年鋰電池項(xiàng)目投資計劃書
- 春節(jié)出行交通安全培訓(xùn)課件
- 2025ACCP實(shí)踐指南:危重患者血漿與血小板輸注指南解讀
- 【語文】遼寧省沈陽市沈河區(qū)文化路小學(xué)小學(xué)一年級下冊期末試卷(含答案)
- 新生兒紅臀PDCA課件
- 企業(yè)風(fēng)險預(yù)警指標(biāo)體系設(shè)計與應(yīng)用
- 2025-2026學(xué)年江蘇省連云港市部分學(xué)校高三上學(xué)期10月月考?xì)v史試題(解析版)
- 《礦山壓力與巖層控制》教案
- 焊工焊接協(xié)議書(2篇)
- 蘇教版六年級數(shù)學(xué)上冊全套試卷
評論
0/150
提交評論