Linux运维工程师面试题第三套
1、linux如何掛在windows下的共享目錄?
mount -t cifs -o username=windows登陸賬號(hào),password="windows賬號(hào)對(duì)應(yīng)的密碼"//16.187.190.50/test /mnt/linux目標(biāo)文件夾
或者 ?muout.cifs ?//本機(jī)IP地址/test /mut/linux目標(biāo)文件夾 -o username="windows登陸賬號(hào)",password="windows賬號(hào)對(duì)應(yīng)的密碼"
【評(píng)析】這套題其實(shí)是蠻有難度,從第一題就能看出來,有點(diǎn)下馬威的意思。掛載本身不難,但是掛載到windows共享目錄在實(shí)際中應(yīng)用到場合不多,所以這道題有條件可以自己試試,沒條件就背下來。注意空格,注意逗號(hào)。
2、查看http的并發(fā)請(qǐng)求數(shù)與其TCP連接狀態(tài)
netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a, b[a]}'
3、用tcpdump嗅探80端口的訪問看看誰最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -10
4、查看當(dāng)前系統(tǒng)每個(gè)IP的連接數(shù)
netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn
5、shell下32位隨機(jī)密碼生成并且保存到/mima.txt文件里
cat /dev/urandom|head -1|md5sum|head -c 32 >/mima.txt
【評(píng)析】/dev/urandom這個(gè)文件可以嘗試cat一下,里面的東西我是看不懂,即使后面加上head -1我依舊看不懂,但是加上md5sum我就能看懂了。其實(shí)第一個(gè)head后面-1也行,-2也行,-100也行,只要?jiǎng)e是太大的數(shù)字都可以。head -c 32的意思就是從頭到第32個(gè)字節(jié),如果是head -c 100就是從頭到第100個(gè)字節(jié),也是“100位密碼”的意思
/dev/urandom這個(gè)東西要比/dev/random好用,因?yàn)楹笳邥?huì)有堵塞的問題,前者一樣安全而且速度還很快。
6、統(tǒng)計(jì)出apache的access.log中訪問量最多的5個(gè)IP
cat access_log | awk ?'{print $1}' | sort | uniq -c | sort -n -r | head -5
7、CentOS查看/監(jiān)測網(wǎng)卡流量的命令
watch more /proc/net/dev
【評(píng)析】現(xiàn)在有的面試官自覺不自覺的就把“網(wǎng)絡(luò)工程師”的任務(wù)跟“運(yùn)維工程師”的任務(wù)混為一談,如果面試官順便問cisco機(jī)器如何監(jiān)察網(wǎng)絡(luò)流量,步驟如下:
執(zhí)行命令:configure terminal 回車進(jìn)入全局配置模式;
執(zhí)行命令:interface fastEthernet 0/1 回車進(jìn)入端口0/1;
執(zhí)行命令:ip accounting 回車;
exit:退出全局配置模式;
執(zhí)行:show ip accouting , 回車就可以查看了。
8、ps aux 中的VSZ代表什么意思?RSS代表什么意思?
VSZ:虛擬內(nèi)存集,進(jìn)程所占用的虛擬內(nèi)存的大小
RSS:實(shí)際內(nèi)存集,進(jìn)程所占用的實(shí)際內(nèi)存的大小
9、符號(hào)鏈接與硬鏈接的區(qū)別
硬鏈接是復(fù)制,享用同一個(gè)inode,不能跨分區(qū),不能連目錄,a變b也變,但是a刪b不刪。
符號(hào)鏈接就是-s,不享用同一個(gè)inode,可以跨分區(qū)可以連目錄,等于“快捷方式”。
10、保存當(dāng)前磁盤分區(qū)的分區(qū)表
11、如何在文本里面進(jìn)行復(fù)制、粘貼,刪除行,刪除全部,按行查找和按字母查找。
在vim的命令狀態(tài)下,先用:set nu顯示每一行對(duì)應(yīng)的行號(hào),然后使用"5G"這種格式對(duì)應(yīng)到第五行,若要?jiǎng)h除該行就是dd;如果復(fù)制4行,那就是“4yy”,然后再需要復(fù)制的地方按p。如果需要在1~20行里把“AAA”替換成“BBB”那么命令就是:/1,20s/AAA/BBB/gc
【評(píng)析】如果遇到的是比較有板有眼的塊型文檔,可以使用awk命令直接切塊,也可以在vim狀態(tài)下使用ctrl+v切塊,然后y一下確定所切塊的范圍,最后在需要粘貼的地方p一下。
12、手動(dòng)安裝grub
grub-install /dev/sda/
13、檢測并修復(fù)/dev/hda5
e2fsck -p /dev/hda5
【評(píng)析】如果要求是“檢查 /dev/hda5 是否正常,如果有異常便自動(dòng)修復(fù),并且設(shè)定若有問答,均回答[是] ”,那么語句就是e2fsck -a -y /dev/hda5
14、在1-39內(nèi)取隨機(jī)數(shù)
echo $[$RANDOM%39]
【評(píng)析】echo $RANDOM就是隨機(jī)在0~32767出數(shù)。這個(gè)知識(shí)點(diǎn)和上面那個(gè)隨機(jī)出32位密碼的還是蠻常考的。
15、限制apache每秒新建連接數(shù)為1,峰值為3
iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m limit --limit 1/second ?-j ACCEPT
16、FTP的主動(dòng)模式和被動(dòng)模式
主動(dòng)模式:客戶機(jī)向服務(wù)器的21端口主動(dòng)發(fā)送請(qǐng)求,賬戶密碼驗(yàn)證成功之后,客戶機(jī)打開一個(gè)隨機(jī)端口(應(yīng)該是大于1024的口)然后用port命令通知服務(wù)器端,“我已經(jīng)擺好姿勢,一個(gè)大于1024的口在等待你”,然后服務(wù)器端的20口跟客戶端的口建立連接,開始數(shù)據(jù)的傳輸。在主動(dòng)模式里,是服務(wù)器端主動(dòng)把數(shù)據(jù)給客戶端。
被動(dòng)模式:客戶機(jī)向服務(wù)器的21端口主動(dòng)發(fā)送請(qǐng)求,賬戶密碼驗(yàn)證成功之后,服務(wù)器端開啟一個(gè)隨機(jī)端口,然后用pasv命令告訴給客戶端,“我已經(jīng)擺好姿勢,一個(gè)隨機(jī)口在等待你”,然后服務(wù)器端也開啟一個(gè)隨機(jī)的端口,然后兩個(gè)隨機(jī)的端口連接起來用來互通數(shù)據(jù)。在被動(dòng)模式里,是客戶端把數(shù)據(jù)從服務(wù)器端拉取到自己的電腦內(nèi)。
【評(píng)析】無論是主動(dòng)模式還是被動(dòng)模式都是針對(duì)服務(wù)器而言的,畫個(gè)圖來解釋一下主動(dòng)模式:
被動(dòng)模式的圖如下:
補(bǔ)充一下,如果服務(wù)器端的iptables只開啟了20端口和21端口,其他的全部都reject的話,是無法啟動(dòng)被動(dòng)模式的,因?yàn)闆]有一個(gè)隨機(jī)端口去用來發(fā)送數(shù)據(jù),而且被動(dòng)模式能用就用,主動(dòng)模式能不用就不用。
17、顯示/etc/inittab中以#開頭,且后面跟了一個(gè)或者多個(gè)空白字符,而后又跟了任意非空白字符的行
grep '^# \{1,\}[^ ]' /etc/inittab?
18、顯示/etc/inittab中包含了:一個(gè)數(shù)字:(即兩個(gè)冒號(hào)中間一個(gè)數(shù)字)的行
grep '\:[1-9]\{1\}\:' /etc/inittab
19、統(tǒng)計(jì)/data/mysql目錄里的普通文件個(gè)數(shù)
find /data/mysql/ -type f|wc -l
【評(píng)析】是-type f不是type -f,這個(gè)細(xì)節(jié)上別犯錯(cuò)。
20、用33m的顏色打出“天下英雄唯使君與操耳”這句話。
echo -e "\E[1;33m 天下英雄唯使君與操耳 \E[1;31m"
或者 echo -e "\E[1;33m" "天下英雄唯使君與操耳" $(tput sgr0)
21、怎么把腳本添加到系統(tǒng)服務(wù)里,即用service來調(diào)用
22、寫一個(gè)腳本,實(shí)現(xiàn)批量添加20個(gè)用戶,用戶名為user1-20,密碼為user后面跟5個(gè)隨機(jī)字符
Shell #!/bin/bash #description:?useradd for?i?in?`seq?-f"%02g"?1?20`;douseradd?user$iecho?"user$i-`echo?$RANDOM|md5sum|cut?-c?1-5`"|passwd?–stdinuser$i?>/dev/null?2>&1 done23、寫一個(gè)腳本,實(shí)現(xiàn)判斷192.168.1.0/24網(wǎng)絡(luò)里,當(dāng)前在線的IP有哪些
#!/bin/bash for?ip?in?`seq?1?255`do{ping?-c?1?192.168.1.$ip?>?/dev/null?2>&1if?[?$??-eq?0?];?thenecho?192.168.1.$ip?UPelseecho?192.168.1.$ip?DOWNfi}&????????????????????#多進(jìn)程啟動(dòng) done24、寫一個(gè)腳本,判斷一個(gè)指定的腳本是否是語法錯(cuò)誤;如果有錯(cuò)誤,則提醒用戶鍵入Q或者q無視錯(cuò)誤并退出其它任何鍵可以通過vim打開這個(gè)指定的腳本
#!/bin/bash read?-p?"please?input?check?script->"?file if?[?-f?$file?];?thensh?-n?$file?>?/dev/null?2>&1 if?[?$??-ne?0?];?thenread?-p?“You?input?$file?syntax?error,[Type?q?to?exit?or?Type?vim?toedit]”?answercase?$answer?inq?|?Q)exit?0;;*)vim?$file;;esac25、數(shù)據(jù)中有10000個(gè)數(shù),其中某個(gè)數(shù)重復(fù)率達(dá)到50%以上,求快速找出這數(shù)的方法的思路
10000個(gè)數(shù)分成兩兩一組,然后比較不相同去掉,相同的留下,如果一次不能得到結(jié)果,再做一次,最終會(huì)得到結(jié)果。
【評(píng)析】上面這個(gè)方法好像很屌,但是說實(shí)話,在python里是沒有最屌只有更屌!這種找出現(xiàn)次數(shù)最多的元素有一個(gè)模塊可以直接抓取,不用這么費(fèi)勁。
假設(shè)aaa就是這個(gè)多達(dá)10000個(gè)數(shù)的list。(如果數(shù)據(jù)不是list就轉(zhuǎn)成list。)
>>>?from?collections?import?Counter >>>?word_counts=Counter(aaa) >>>?top_one=word_counts.most_common(1) >>>?print(top_one)=================================分割線============================================
這套題很經(jīng)典,一些比較牛掰的公司拿來做筆試題是很夠格的,問的東西很常用而且還需要一點(diǎn)繞彎彎。但是這套題最好是理解而不是100%的死記硬背,因?yàn)檫@套題實(shí)在是臭了大街了,幾乎每個(gè)論壇都有。面試官應(yīng)該不會(huì)再原模原樣的拿出來考人。
幾個(gè)腳本的編寫也很經(jīng)典,但是筆試的時(shí)候應(yīng)該考的可能性不大,因?yàn)閷懗鰜硖M(fèi)時(shí)間,即使寫出來了面試官也不能一下子就看出來個(gè)準(zhǔn)確,主要是給大家練手。
轉(zhuǎn)載于:https://blog.51cto.com/chenx1242/1742303
總結(jié)
以上是生活随笔為你收集整理的Linux运维工程师面试题第三套的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《从零开始系列-Project 2010
- 下一篇: linux命令(8)kill命令