合格linux運(yùn)維人員必會(huì)的30道shell編程面試題及講解

超深度講解shell高級(jí)編程實(shí)戰(zhàn)瓤檐,截至目前shell編程課程國(guó)內(nèi)培訓(xùn)機(jī)構(gòu)最細(xì)的課程,不信請(qǐng)看學(xué)員表現(xiàn)的水平娱节。

課程牛不牛挠蛉,不是看老師、課表括堤,而是看培養(yǎng)的的學(xué)生水平碌秸,目前全免費(fèi)中伙伴們趕緊看啊。

http://edu.51cto.com/course/course_id-5257.html

企業(yè)合格的linux運(yùn)維必會(huì)編程題悄窃,能獨(dú)立完成的同學(xué)就業(yè)工資不會(huì)低于12K

這是老男孩linux運(yùn)維班要求學(xué)生必會(huì)的題目讥电,完不成的不能合格畢業(yè),每個(gè)完成的都獎(jiǎng)勵(lì)價(jià)值500-1000元的等值禮物(以當(dāng)天考試成績(jī)宣布為準(zhǔn))轧抗,要進(jìn)要退自己抉擇恩敌,伙伴們走起!

實(shí)戰(zhàn)考試時(shí)間就在2016年1月15日上機(jī)實(shí)戰(zhàn)横媚,禁止大面積抄襲學(xué)習(xí)課堂筆記否則無(wú)獎(jiǎng)勵(lì)纠炮!
共21道考試題月趟,面授上課幾乎全部講解過(guò)類似的案例,考試題略微變更而已恢口。

企業(yè)面試題1:(生產(chǎn)實(shí)戰(zhàn)案例):監(jiān)控MySQL主從同步是否異常孝宗,如果異常,則發(fā)送短信或者郵件給管理員耕肩。提示:如果沒(méi)主從同步環(huán)境,可以用下面文本放到文件里讀取來(lái)模擬: 階段1:開發(fā)一個(gè)守護(hù)進(jìn)程腳本每30秒實(shí)現(xiàn)檢測(cè)一次因妇。
階段2:如果同步出現(xiàn)如下錯(cuò)誤號(hào)(1158,1159,1008,1007,1062),則跳過(guò)錯(cuò)誤猿诸。
階段3:請(qǐng)使用數(shù)組技術(shù)實(shí)現(xiàn)上述腳本(獲取主從判斷及錯(cuò)誤號(hào)部分)

[root@oldboy~]# mysql -uroot -p'oldboy' -S /data/3307/mysql.sock -e "show slavestatus\G;"
*************************** 1\. row ***************************
               Slave_IO_State:Waiting for master to send event
                  Master_Host:10.0.0.179   #當(dāng)前的mysql master服務(wù)器主機(jī)
                  Master_User: rep
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File:mysql-bin.000013
         Read_Master_Log_Pos: 502547
               Relay_Log_File:relay-bin.000013
                Relay_Log_Pos:251
        Relay_Master_Log_File:mysql-bin.000013
             Slave_IO_Running:Yes
           Slave_SQL_Running: Yes
              Replicate_Do_DB: 
         Replicate_Ignore_DB: mysql
          Replicate_Do_Table: 
      Replicate_Ignore_Table: 
     Replicate_Wild_Do_Table: 
 Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
         Exec_Master_Log_Pos: 502547
              Relay_Log_Space:502986
              Until_Condition:None
               Until_Log_File: 
                Until_Log_Pos: 0
          Master_SSL_Allowed: No
          Master_SSL_CA_File: 
          Master_SSL_CA_Path: 
              Master_SSL_Cert: 
           Master_SSL_Cipher: 
               Master_SSL_Key: 
       Seconds_Behind_Master: 0   #和主庫(kù)比同步延遲的秒數(shù)婚被,這個(gè)參數(shù)很重要
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error:

企業(yè)面試題2: 使用for循環(huán)在/oldboy目錄下通過(guò)隨機(jī)小寫10個(gè)字母加固定字符串oldboy批量創(chuàng)建10個(gè)html文件,名稱例如為:

[root@oldboy oldboy]# sh /server/scripts/oldboy.sh
[root@oldboy oldboy]# ls 
coaolvajcq_oldboy.html  qnvuxvicni_oldboy.html  vioesjmcbu_oldboy.html
gmkhrancxh_oldboy.html  tmdjormaxr_oldboy.html  wzewnojiwe_oldboy.html
jdxexendbe_oldboy.html  ugaywanjlm_oldboy.html  xzzruhdzda_oldboy.html
qcawgsrtkp_oldboy.html  vfrphtqjpc_oldboy.html

企業(yè)面試題3:請(qǐng)用至少兩種方法實(shí)現(xiàn)梳虽! 將以上文件名中的oldboy全部改成oldgirl(用for循環(huán)實(shí)現(xiàn)),并且html改成大寫址芯。

企業(yè)面試題4: 批量創(chuàng)建10個(gè)系統(tǒng)帳號(hào)oldboy01-oldboy10并設(shè)置密碼(密碼為隨機(jī)8位字符串)。

企業(yè)面試題5: 寫一個(gè)腳本窜觉,實(shí)現(xiàn)判斷10.0.0.0/24網(wǎng)絡(luò)里谷炸,當(dāng)前在線用戶的IP有哪些(方法有很多)

企業(yè)實(shí)戰(zhàn)題6:請(qǐng)用至少兩種方法實(shí)現(xiàn)! 寫一個(gè)腳本解決DOS***生產(chǎn)案例
提示:根據(jù)web日志或者或者網(wǎng)絡(luò)連接數(shù)禀挫,監(jiān)控當(dāng)某個(gè)IP并發(fā)連接數(shù)或者短時(shí)內(nèi)PV達(dá)到100淑廊,即調(diào)用防火墻命令封掉對(duì)應(yīng)的IP,監(jiān)控頻率每隔3分鐘特咆。防火墻命令為:iptables -I INPUT -s 10.0.1.10 -j DROP季惩。

答案見https://blog.51cto.com/oldboy/2141081

企業(yè)實(shí)戰(zhàn)題7: 開發(fā)mysql多實(shí)例啟動(dòng)腳本:
已知mysql多實(shí)例啟動(dòng)命令為:mysqld_safe--defaults-file=/data/3306/my.cnf &
停止命令為:mysqladmin -u root -poldboy123 -S /data/3306/mysql.sockshutdown
請(qǐng)完成mysql多實(shí)例啟動(dòng)啟動(dòng)腳本的編寫
要求:用函數(shù),case語(yǔ)句腻格、if語(yǔ)句等實(shí)現(xiàn)画拾。

開發(fā)MySQL單實(shí)例專業(yè)腳本答案見https://blog.51cto.com/oldboy/2124950

企業(yè)實(shí)戰(zhàn)題8:如何實(shí)現(xiàn)對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行分庫(kù)備份,請(qǐng)用腳本實(shí)現(xiàn)

企業(yè)實(shí)戰(zhàn)題9:如何實(shí)現(xiàn)對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行分庫(kù)加分表備份菜职,請(qǐng)用腳本實(shí)現(xiàn)

企業(yè)面試題10:請(qǐng)用至少兩種方法實(shí)現(xiàn)青抛! bash for循環(huán)打印下面這句話中字母數(shù)不大于6的單詞(昆侖萬(wàn)維面試題)。
I am oldboy teacher welcome to oldboy training class.

**企業(yè)面試題11:****開發(fā)shell腳本分別實(shí)現(xiàn)以腳本傳參以及read讀入的方式比較2個(gè)整數(shù)大小酬核。以屏幕輸出的方式提醒用戶比較結(jié)果蜜另。注意:一共是開發(fā)2個(gè)腳本。當(dāng)用腳本傳參以及read讀入的方式需要對(duì)變量是否為數(shù)字嫡意、并且傳參個(gè)數(shù)做判斷举瑰。** 

企業(yè)面試題12:打印選擇菜單,一鍵安裝Web服務(wù):

[root@oldboyscripts]# sh menu.sh

1.[install lamp]

2.[install lnmp]

3.[exit]

pls input the num you want:

要求:

1蔬螟、當(dāng)用戶輸入1時(shí)此迅,輸出“startinstalling lamp.”然后執(zhí)行/server/scripts/lamp.sh,腳本內(nèi)容輸出"lampis installed"后退出腳本;

2耸序、當(dāng)用戶輸入2時(shí)忍些,輸出“startinstalling lnmp.”然后執(zhí)行/server/scripts/lnmp.sh輸出"lnmpis installed"后退出腳本;

3、當(dāng)輸入3時(shí)坎怪,退出當(dāng)前菜單及腳本罢坝;

4、當(dāng)輸入任何其它字符搅窿,給出提示“Input error”后退出腳本炸客。

5、要對(duì)執(zhí)行的腳本進(jìn)行相關(guān)條件判斷戈钢,例如:腳本是否存在,是否可執(zhí)行等是尔。

企業(yè)面試題13:

1殉了、監(jiān)控web服務(wù)是否正常,不低于3種監(jiān)控策略拟枚。

2薪铜、監(jiān)控db服務(wù)是否正常,不低于3種監(jiān)控策略恩溅。
要求間隔1分鐘隔箍,持續(xù)監(jiān)控。

企業(yè)面試題14:監(jiān)控memcache服務(wù)是否正常脚乡,模擬用戶(web客戶端)檢測(cè)蜒滩。

使用nc命令加上set/get來(lái)模擬檢測(cè),以及監(jiān)控響應(yīng)時(shí)間及命中率奶稠。

企業(yè)面試題15****:面試及實(shí)戰(zhàn)考試題:監(jiān)控web站點(diǎn)目錄(/var/html/www)下所有文件是否被惡意篡改(文件內(nèi)容被改了)俯艰,如果有就打印改動(dòng)的文件名(發(fā)郵件),定時(shí)任務(wù)每3分鐘執(zhí)行一次(10分鐘時(shí)間完成)锌订。

企業(yè)面試題16:企業(yè)案例:寫網(wǎng)絡(luò)服務(wù)獨(dú)立進(jìn)程模式下rsync的系統(tǒng)啟動(dòng)腳本

例如:/etc/init.d/rsyncd{start|stop|restart} 竹握。
要求:
1.要使用系統(tǒng)函數(shù)庫(kù)技巧。
2.要用函數(shù)辆飘,不能一坨SHI的方式啦辐。
3.可被chkconfig管理。

企業(yè)面試題17:老男孩教育****天津項(xiàng)目學(xué)生實(shí)踐抓鬮題目:

好消息蜈项,老男孩培訓(xùn)學(xué)生外出企業(yè)項(xiàng)目實(shí)踐機(jī)會(huì)(第6次)來(lái)了(本月中旬)芹关,但是,名額有限紧卒,隊(duì)員限3人(班長(zhǎng)帶隊(duì))充边。

因此需要挑選學(xué)生,因此需要一個(gè)抓鬮的程序:

要求:

1、執(zhí)行腳本后浇冰,想去的同學(xué)輸入英文名字全拼贬媒,產(chǎn)生隨機(jī)數(shù)01-99之間的數(shù)字,數(shù)字越大就去參加項(xiàng)目實(shí)踐肘习,前面已經(jīng)抓到的數(shù)字际乘,下次不能在出現(xiàn)相同數(shù)字。

2漂佩、第一個(gè)輸入名字后脖含,屏幕輸出信息,并將名字和數(shù)字記錄到文件里投蝉,程序不能退出繼續(xù)等待別的學(xué)生輸入养葵。
答案:https://blog.51cto.com/oldboy/1308647

企業(yè)面試題18:老男孩linux企業(yè)面試題:

已知下面的字符串是通過(guò)RANDOM隨機(jī)數(shù)變量md5sum|cut-c 1-8截取后的結(jié)果,請(qǐng)破解這些字符串對(duì)應(yīng)的md5sum前的RANDOM對(duì)應(yīng)數(shù)字瘩缆?

21029299

00205d1c

a3da1677

1f6d12dd

890684b

企業(yè)面試題19:批量檢查多個(gè)網(wǎng)站地址是否正常

要求:shell數(shù)組方法實(shí)現(xiàn)关拒,檢測(cè)策略盡量模擬用戶訪問(wèn)思路

http://www.etiantian.org

http://www.taobao.com

http://oldboy.blog.51cto.com

http://10.0.0.7

企業(yè)面試題20(中企動(dòng)力):****:用shell處理以下內(nèi)容

1、按單詞出現(xiàn)頻率降序排序庸娱!

2着绊、按字母出現(xiàn)頻率降序排序!

The months of learning in Old Boy education are the few months that I think the time efficient is the most.I had also studied at other training institutions before, but I was hard to understand what the tutor said and hard to follow. It was just too much to learn with no outline.

(我認(rèn)為在老男孩教育中學(xué)習(xí)的幾個(gè)月是時(shí)間效率最高的幾個(gè)月熟尉。我之前也在其他培訓(xùn)機(jī)構(gòu)學(xué)習(xí)過(guò)归露,但是我很難理解導(dǎo)師說(shuō)了什么,也很難跟上斤儿。沒(méi)有大綱剧包,學(xué)起來(lái)太難了。)

答案:

https://mp.weixin.qq.com/s?__biz=MzAxOTE5NjQwOA==&mid=2650114764&idx=1&sn=d0b3471f3764f0d3c634ed4cf960ccdc&chksm=83cb9a5bb4bc134d92eaee21f2215d4875f654bff5f47ae076f9cb80a70073919ee5af629b04&mpshare=1&scene=23&srcid=0705hLsan6oqQMKYBZ5CGI1S#rd

企業(yè)面試題21:輸出正方形往果、等腰三角形玄捕、直角梯形,見如下內(nèi)容

http://oldboy.blog.51cto.com/2561410/1718607

****企業(yè)面試題22:開發(fā)通過(guò)web界面展示監(jiān)控Nginx代理節(jié)點(diǎn)狀態(tài)棚放,效果圖如下枚粘。****

答案:https://blog.51cto.com/oldboy/1589685

lvs+keepalived集群部分Shell企業(yè)案例:

企業(yè)面試題23、【LVS主節(jié)點(diǎn)】手工開發(fā)ipvsadm管理lvs的腳本ip_vs

實(shí)現(xiàn):/etc/init.d/lvs {start|stop|restart}

企業(yè)面試題****24飘蚯、【LVS主節(jié)點(diǎn)】模擬keepalived健康檢查功能管理LVS節(jié)點(diǎn)馍迄,

當(dāng)節(jié)點(diǎn)掛掉(檢測(cè)2次,間隔2秒)從服務(wù)器池中剔除局骤,好了(檢測(cè)2次攀圈,間隔2秒)加進(jìn)來(lái)

提示:利用ipvsadm命令實(shí)現(xiàn)添加和減少LVS節(jié)點(diǎn)。

企業(yè)面試題25峦甩、【LVS客戶端節(jié)點(diǎn)】開發(fā)LVS客戶端設(shè)置VIP以及抑制ARP的管理腳本

實(shí)現(xiàn):/etc/init.d/lvsclient {start|stop|restart}

企業(yè)面試題26赘来、【LVS備節(jié)點(diǎn)】模擬keepalved vrrp功能现喳,監(jiān)聽主節(jié)點(diǎn),如果主節(jié)點(diǎn)不可訪問(wèn)則備節(jié)點(diǎn)啟動(dòng)并配置LVS實(shí)現(xiàn)接管主節(jié)點(diǎn)的資源提供服務(wù)(提醒:注意ARP緩存)

企業(yè)面試題27犬辰、請(qǐng)用shell或Python編寫一個(gè)正方形(oldboy_square.sh)嗦篱,接收用戶輸入的數(shù)字。

例如:

[root@oldboy ~]# sh oldboy_square1.sh 
Please Enter a number:5
++++++++++
++++++++++
++++++++++
++++++++++
++++++++++
[root@oldboy ~]# sh oldboy_square2.sh  
Please Enter a number:9
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■

企業(yè)面試題28幌缝、請(qǐng)用shell或Python編寫一個(gè)等腰三角形(oldboy2_triangle.sh)灸促,接收用戶輸入的數(shù)字。

例如:

[root@oldboy ~]# sh oldboy2_triangle.sh 
Please Enter a number:5
    *
   ***
  *****
 *******
*********
[root@oldboy ~]# sh oldboy2_triangle.sh 
Please Enter a number:8
       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************

企業(yè)面試題29涵卵、請(qǐng)用shell或Python編寫一個(gè)畫直角梯形程序(oldboy4.sh)浴栽,接收用戶輸入的參數(shù)n,m

例如:

[root@oldboy ~]# sh oldboy4.sh 4 6
****
*****
******

27,28,29三道題參考http://oldboy.blog.51cto.com/2561410/1718607

企業(yè)面試題30:寫一套簡(jiǎn)單的企業(yè)代碼上線發(fā)布系統(tǒng)案例轿偎,利用SVN對(duì)代碼及配置文件進(jìn)行管理典鸡,在辦公室服務(wù)器上從svn取出指定版本的代碼和配置,發(fā)布到IDC機(jī)房分發(fā)機(jī)服務(wù)器上坏晦,在分發(fā)服務(wù)器或者負(fù)載均衡器上或者應(yīng)用服務(wù)器本地實(shí)現(xiàn)代碼平滑發(fā)布萝玷、上線、回滾腳本(具體設(shè)計(jì)請(qǐng)參考課堂講解的企業(yè)代碼發(fā)布方案)英遭。

企業(yè)面試題31:請(qǐng)?jiān)O(shè)計(jì)一套Git+Saltstack實(shí)現(xiàn)代碼的線上發(fā)布及管理方案。

(可參考跟老男孩學(xué)習(xí)Linux運(yùn)維:Shell高級(jí)編程實(shí)戰(zhàn)一書內(nèi)容)

轉(zhuǎn)載的網(wǎng)友亦渗,請(qǐng)務(wù)必保留本文章的全部?jī)?nèi)容挖诸,謝謝。

檢查標(biāo)準(zhǔn):

1法精、查看實(shí)現(xiàn)的腳本多律,并詢問(wèn)腳本中的設(shè)計(jì)思想及實(shí)現(xiàn)流程。

2搂蜓、必要情況下狼荞,面試官可以看著你要求你重新開發(fā)出來(lái)。

3帮碰、檢查人:班長(zhǎng)相味,組長(zhǎng),老男孩老師殉挽,助教丰涉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市斯碌,隨后出現(xiàn)的幾起案子一死,更是在濱河造成了極大的恐慌,老刑警劉巖傻唾,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件投慈,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)伪煤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門加袋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人带族,你說(shuō)我怎么就攤上這事锁荔。” “怎么了蝙砌?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵阳堕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我择克,道長(zhǎng)恬总,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任肚邢,我火速辦了婚禮壹堰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骡湖。我一直安慰自己贱纠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布响蕴。 她就那樣靜靜地躺著谆焊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浦夷。 梳的紋絲不亂的頭發(fā)上辖试,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音劈狐,去河邊找鬼罐孝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛肥缔,可吹牛的內(nèi)容都是我干的莲兢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼续膳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼怒见!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起姑宽,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤遣耍,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后炮车,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舵变,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酣溃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纪隙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赊豌。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖绵咱,靈堂內(nèi)的尸體忽然破棺而出碘饼,到底是詐尸還是另有隱情,我是刑警寧澤悲伶,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布艾恼,位于F島的核電站,受9級(jí)特大地震影響麸锉,放射性物質(zhì)發(fā)生泄漏钠绍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一花沉、第九天 我趴在偏房一處隱蔽的房頂上張望柳爽。 院中可真熱鬧,春花似錦碱屁、人聲如沸磷脯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赵誓。三九已至,卻和暖如春晦雨,著一層夾襖步出監(jiān)牢的瞬間架曹,已是汗流浹背隘冲。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工闹瞧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人展辞。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓奥邮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親罗珍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子洽腺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容