日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux日志查看面试题,Linux 运维面试题 三剑客(sed awk grep)整理

發布時間:2025/7/14 linux 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux日志查看面试题,Linux 运维面试题 三剑客(sed awk grep)整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 三劍客-基礎部分題目

1. 選擇

1.在給定文件中查找與條件相符字符串的命令及查找某個目錄下相應文件的命令為:(多選)(AC)A:grep

B:gzip

C:find

D:sort

2.在給定文件中查找與設定條件相符字符串的命令為(A)A:grep

B:gzip

C:find

D:sort

3.以下哪個命令可以從文本文件的每一行中截取指定內容的數據。(D)A:cp

B:dd

C:fmt

D:cut

4.下面表述錯誤的是(D)A.表示開頭,如^abc表示以abc開頭的

B. 表示結尾如abc表示以abc為結尾的

C.?表示前一個字符出現0或1次,如ab?c表示a與c之間可有0或1個b存在

D.+ 表示前一個字符出現0或多次。如ab+c表示a與c之間可有0或多個b存在

2. 填空

1.Unix中在當前目錄下所有.cc 的文件中找到含有“asiainfo”內容的文件,命令為find??.?-type?f?-name?"*.cc"?|?xargs?grep??'asiainfo'find?.?-type?f?-name?"*.cc"?-exec?grep?"asiainfo"?{}?\;grep?"asiainfo"?`find?.?-type?f?-name?"*.cc"`

2.使用AWK指定分隔符的參數是_______-F _,-vFS=awk?'BEGIN{FS=":"}{print?$1,$3}'?/etc/passwd

3. 簡答

1.找出當前目錄下包含127.0.0.1關鍵字的文件?方法1grep?"127.0.0.1"?`?find?-type?f?`sed?-n?'/127.0.0.1/p'?`??find?-type?f`awk?'/127.0.0.1/'?`??find?-type?f`方法2find?-type?f?|?xargs?grep?"127.0.0.1"find?-type?f?|?xargs?sed?-n?'/127.0.0.1/p'find?-type?f?|?xargs?awk?'/127.0.0.1/'方法3find?-type?f?-exec?grep?"127.0.0.1"?{}?\

find?-type?f?-exec?sed?-n?'/127.0.0.1/p'??{}?\

find?-type?f?-exec?awk?'/127.0.0.1/'?{}?\

2.刪除/顯示1.txt文件第3行到第10行的內容?sed?-n?'3,10p'?1.txt

awk?'3<=NR<=10'?1.txt

awk?'NR==3,NR==10'?1.txt

head?10.txt?|?tail?-8

3.使用awk取出/etc/passwd第一列數據也就是取出用戶名。awk?-F?:?'{print?$1}'?/etc/passwd

cut?-d?:?f1?/etc/passwd

sed?-n?'s#:.*##g'?/etc/passwd

awk?'{gsub(/:.*/,"");print}'?/etc/passwd

sed?-r?'s#(^[^:]+).*#\1#g'?/etc/passwd

4.用命令行更改config.txt文件,把里面所有的“name”更改為“address”sed?-i?'s#name#address#g'?config.txt

awk?'{gsub(/name/,"address"),print}'?config.txt

vi/vim進行編輯:

:%s#name#address#g

5.寫出查詢file.txt以abc結尾的行egrep?"abc$"?file.txt

sed?-n?'/abc$/p'?file.txt

awk?'/abc$/'?file.txt

6.刪除file.txt文件中的空行sed?'/^$/d'?file.txt

grep?-v?'^$'?file.txt

awk?'!/^$/'?file.txt-----空行可能空格

egrep?-v?"^$|^?+$"?file.txt

grep?-v?'^?*$'?file.txt

sed?-n?'/^?*$/d'?file.txt

awk?'/^?*$/'?file.txt

7.打印file.txt文件中的第10行sed?-n?'10p'?file.txt

awk?'NR==10'?file.txt

head?file.txt?|?tail?-1

8.刪除/etc/fstab文件中所有以#開頭的行的行首的# 號及#后面的所有空白字符;egrep?-v?'^$|^#'?/etc/fstab

awk?'/^#/{gsub(/^#|[?\t]+/,""),print}'?/etc/fstab

sed?-r?'/^#/s@^#|[?\t]+@@g'?/etc/fstab

情況2awk?'/^#/{gsub(^#[?\t]+,""),print}'?/etc/fstab

sed?-r?'/^#/s@^#[?\t]+@@g'?/etc/fstab

9.查找最后創建時間是3天前,后綴是*.log的文件并刪除(三種方法)find?-type?f??-mtime?+3?-name?"*.log"?-exec?rm?-f?{}?\;find?-type?f?-mtime?+3?-name?"*.log"?-exec?rm?-f?{}?+find?-type?f?-mtimime?+3?-name?"*.log"?|?xargs?rm?-f

rm?-f?`find?-type?f?-mtime?+3?-name?"*.log"`rm?-f?$(find?-type?f?-mtime?+3?-name?"*.log")find?-type?f?-mtime?+3?-name?"*.log"?--delete

10.使用sed命令打印出文件的第一行到第三行sed?'1,3p'?file.txt

awk?'NR==1,NR==3'?file.txt

head?-3?file.txt

11.在/var/sync/log/cef_watchd-20080424.1og文件中查找大小寫不敏感“mysql"字符串中的命令是grep?-i?'mysql'?/var/sync/log/cef_watchd-20080424.1og

12.為了在/var/sync/log 目錄中查找更改時間在5日以前的文件井刪除它們,linux命令是rm?-f?`find?/var/sync/log?-type?f?-ctime?+5?`rm?-f?$(find?/var/sync/log?-type?f?-ctime?+5)find?/var/sync/log?-type?f?-ctime?+5?|?xargs?rm?-f?{}?\;find?/var/sync/log?-type?f?-ctime?+5?-exec?rm?-f

find?/var/sync/log?-type?f?-ctime?+5?--delete

13.把data目錄及其子目錄下所有以擴展名.txt結尾的文件中包含oldgirl的字符串全部替換為oldboy.find?/data?-type?-name?".txt"?|?xargs?sed?-n?'s#oldgirl#oldboy#g'find?/data?-type?-name?".txt"?|?xargs?awk?'{gsub(/oldgirl/,"oldboy"),print}'

14.寫出刪除abc.txt文件中的空行sed?'/^$/d'?abc.txt

awk?'{gsbu(/^$/,""),print}'?abc.txt

grep?-v?"^$"?abc.txt

15.查看linux服務器ip的命令,同時只顯示包含ip所在的行打印出來ifconfig?ens33?|?awk?-F?"[?]+"?'NR==2{print?$3}'ifconfig?ens33?|?sed?-rn?'2s#^.*inet?(.*)?netmask?.*$#\1#gp'hostname?-I

16.有文件file1請用shell查詢file1里面空行的所在行號grep?-n?"^$"?file.txt

awk?'/^$/{print?NR,$0}'?file.txt查詢file1以abc結尾的行grep?"abc$"?file.txt

sed?'/abc$/'?file.txt

awk?'/abc$/'?file.txt打印file文件第一行到第三行sed?'1,3p'?file.txt

awk?'NR==1,NR==3'?file.txt

head?-3?file.txt

17.顯示file文件里匹配foo字串那行以及上下5行、顯示foo及前5行、顯示foo及后5行grep?-B?5?"FOO"?file.txt

grep?-A?5?"FOO"?file.txt

grep?-C?5?"FOO"?file.txt

18.當前系統中沒有任何文本編輯器(vi,emacs,vim,edit等),如何過來掉注釋行和空行查看/etc/ssh/sshd_config文件

例如:文件名為“filename”,文件內容如下:#This?is?a?comments-1#This?is?a?comments-2This?is?a?comments-1This?is?a?comments-2This?is?a?comments-3This?is?a?comments-4egrep?-v?"^$|^#"?/etc/ssh/sshd_config/filename.txt

sed?-r?'/^$|^#/d'?/etc/ssh/sshd_config/filename.txt

sed?-nr?'/^$|^#/!p'?/etc/ssh/sshd_config/filename.txt

awk?'!/^$|^#/'?/etc/ssh/sshd_config/filename.txt

19.查找file.log文件中的包含關鍵字“helloworld”的內容,及其上下兩行的內容從定向保存到1.txt。請寫出命令grep??"hellword"?-C?2?file.log?>>1.txt

20.echo "ABCDEF abtdefg" |sed -i s/c/t/g 這條命令是否正確?如若正確可能會顯示什么樣的結果?不正確,-i是針對文件的。

21.查找文件中1到20行之間,同時將"aaa"替換為"AAA","ddd"替換"DDD"awk?'NR==1,NR==20{gsub(/aaa/,"AAA");gsub(/ddd/),"DDD"}1'?file.txt

sed?-n?'1,20{s#aaa#AAA#g;s#ddd#DDD#g}'?file.txt

sed?'1,20p'??file.txt?|tr?"ad"?"AD"?sed?"1,20y/ad/AD/"?file.txt

sed?"1,20s#[ad]#\U?g"?file.txt

awk?'NR==1,NR==20{print?toupper($0)}'?file.txt

22.用awk獲取文件中第三行的倒數第二列字段awk?'NR==3{print?$(NR-1)}'?file.txt

二. 進階題目:

1.利用sed命令將test.txt中所有的回車替換成空格?tr?"\n"?"?"?test.txt

2.找出ifconfig命令結果中的1-255之間的數值;ifconfig?|?egrep?-o?'[0-9]+'|awk?'$0>1?&&?$0<=255'?#-o表示僅僅輸出匹配的內容

ifconfig?|?awk?-vRS="[^0-9]+"?'$0>1??&&?$0?<255'

3.文件內容排序、文件行取唯一值的命令分別是?sort

uniq

4.用awk獲取文件中第三行的倒數第二列字段awk?'NR==3{print?$(NR-1)}'?file.txt

5.awk是一個很強大的文本處理工具,請使用awk統計當前主機的并發訪問量netstat?-ant|awk?'/^tcp/{stat[$NF]++}END{for(?k?in?stat)?print?k,stat[k]}'ss?-ant?|?'{stat[$NF]++}END{for(?k?in?stat)?print?k,stat[k]}'

6.有一個文件nginx.log,請用awk提取時間(HH:MM),文件內容如下:183.250.220.178|-l[20/jul/2017:10:35:14?+0800]|POST?/audiosearch/search

HTTP/1.1|200|54|-lDalvik/1.6.0(linux;U;Android?4,4,4;Konka?Android?TV?638Build/KTU84P)|-l-[5.069|5.001,0.005|www.kuyun.com|8771|172.21.19.67:8084,172.21.19.66:8084]183.250.220.178|-l[20/jul/2017:10:35:14?+0800]|POST?/audiosearch/search

HTTP/1.1|200|54|-lDalvik/1.6.0(linux;U;Android?4,4,4;Konka?Android?TV?638Build/KTU84P)|-l-[5.069|5.001,0.005|www.kuyun.com|8771|172.21.19.67:8084,172.21.19.66:8084]awk?-F?"2017:|:14"?'{print?$2}'?nginx.txt

awk?-F?"....:|:.."?'{print?$2}'?nginx.txt

7.從a.log文件中提取包含“WARNING”或“FATAL”,同時不包含“IGNOR”行,然后,提取以“:”分割的第五個字段awk?-F?:?'/WARING|FATAL/?&&!/IGNOR/{print?$5}'

三. 老牛逼題目

1.統計apache訪問日志流量排名前10個IPawk?'{IP[$1]+=$10}END{for?(k?in?IP)?print?k,IP[K]}'?access.log|?sort?-nrk2|?head?-10

2.統計出apache的access.log 中訪問最多的5個ipawk?'{IP[$1]++}END{for?(k?in?IP)?print?k,IP[K]}'?access.log|?sort?-nrk2|?head?-5

3.這條linux命令的含義:netstat -n |awk '/^tcp/ {++h{$NF}} END {for{a in h } print a,h[a] }'tcp?狀態?每種狀態的數量。

4.使用awk分析日志(最后一個字段是IP,統計訪問量前十的IP,并進行排序)awk?'{IP[$NF]++}END{for?(k?in?IP)?print?k,IP[K]}'?access.log?|?sort?-nrk2?|?head

awk?'{h[$NF]++}END{for(p?in?h)print?p,h[p]}'?access.log?|sort?-rnk2|head

awk?'{print?$NF}'?access.log|sort?|uniq?-c|sort?-rnk2|head

總結

以上是生活随笔為你收集整理的linux日志查看面试题,Linux 运维面试题 三剑客(sed awk grep)整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。