Linux面試核心

Linux的體系結構

查找特定文件

find -name [filename] 當前目錄遞歸查找某個文件
find -iname [filename] 當前目錄遞歸查找某個文件(忽略大小寫)
find / -name [filename] 全局遞歸查找某個文件(/定位到系統根目錄)
find ~ -name [filename] 當前用戶目錄查找某個文件(~定位用當前用戶目錄,通配符支持模糊查詢)
man find(查找find指令的說明)

檢索文件內容

grep [查找內容] [查找文件](支持模糊查詢)

傳統的 grep 程序, 在沒有參數的情況下, 只輸出符合 RE 字符串之句子. 常見參數如下:
-v: 逆反模示, 只輸出"不含" RE 字符串之句子.
-r: 遞歸模式, 可同時處理所有層級子目錄里的文件.
-q: 靜默模式, 不輸出任何結果(stderr 除外. 常用以獲取 return value, 符合為 true, 否則為 false .)
-i: 忽略大小寫.
-w: 整詞比對, 類似 <word> .
-n: 同時輸出行號.
-c: 只輸出符合比對的行數.
-l: 只輸出符合比對的文件名稱.
-o: 只輸出符合 RE 的字符串. (gnu 新版獨有, 不見得所有版本都支持.)
-E: 切換為 egrep .

管道操作符|

可將指令連接起來,前一個指令的輸出作為后一個指令的輸入



使用管道注意的要點

1、只處理前一個命令正確輸出,不處理錯誤輸出
2、右邊命令必須能夠接收標準輸入流,否則傳遞過程中數據會被拋棄

對文件內容做統計

awk
語法:awk [options] 'cmd' file
1、一次讀取一行文本,按輸入分隔符進行切片,切成多個組成部分
2、將切片直接保存在內建的變量中,12..($0表示行的全部)
3、支持對單個切片的判斷,支持循環判斷,默認分隔符為空格

//按空格切片,打印第一個切片和第四個切片
awk '{print $1,$4}' filename 
//如果第一切片等于tcp并且第二切片等于1就打印整行
awk '$1=="tcp" && $2==1{print $0}' filename 
//如果第一切片等于tcp并且第二切片等于1 或者 是第一行 就打印整行
awk '($1=="tcp" && $2==1) || NR == 1 {print $0}' filename 
//按逗號分隔,打印第二切片
awk -F ',' '{print $2}' filename 
/*
*自定義數組engiarr,key為第一切片,value為相同切片出現的次數,掃描結束后循環數組engiarr
*打印出key和value
*/
awk '{engiarr[$1]++}END{for(i in engiarr)print i "\t" engiarr[i]}' 

批量替換文本內容

sed
語法:sed [option] 'sed command' filename
適合用于對文本的行內容進行處理

/*
*-i替換并保存到文本,不加-i是不會保存到文本的,s是對字符串的操作
*第一個斜杠到第二個斜杠之間就是要查找的內容
*第二個斜杠到第三個斜杠之間就是要替換的內容,^就是以什么開頭的內容
*/
sed -i 's/^Str/String/' filename 
//$就是以什么結尾的內容
sed -i 's/\.$/;/' filename 
//g就是全文替換,不加就只會替換每行的首個符合的內容
sed -i 's/\.$/;/g' filename 
//d就是刪除符合內容的行
sed -i 's/\.$/d' filename 
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • SHELL 進階 這部分的知識,我們主要是從三個方面來學習: 測試語句表達式(條件+計算)linux常見符號和命令...
    hang1720閱讀 628評論 0 0
  • 基礎命令 主要的命令和快捷鍵 Linux系統命令由三部分組成:cmd + [options]+[operation...
    485b1aca799e閱讀 1,119評論 0 0
  • 第 2 章 SHELL 基礎知識2.1 shell腳本我們在上面簡單介紹了一下什么是shell腳本,現在我們來進一...
    LiWei_9e4b閱讀 1,591評論 0 0
  • 本文將介紹Linux下使用Shell處理文本時最常用的工具: find、grep、xargs、sort、uniq、...
    程序員BUG閱讀 830評論 0 15
  • 本文將介紹Linux下使用Shell處理文本時最常用的工具: find、grep、xargs、sort、uniq、...
    追風箏的少年_4cdc閱讀 209評論 0 0