面試題 腳本及Linux操作題含答案_第1頁
面試題 腳本及Linux操作題含答案_第2頁
面試題 腳本及Linux操作題含答案_第3頁
面試題 腳本及Linux操作題含答案_第4頁
面試題 腳本及Linux操作題含答案_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

面試題腳本及Linux操作題含答案題目1簡單shell命令按照要求書寫shell命令(10分鐘):文件操作:如何創建一個目錄:__如何刪除一個文件:__如何創建一個軟鏈接:_____文件內容操作:如何匹配既包含aa又包含bb的行:___如何匹配包含站點url(如:/)的行:___系統相關:如何查看spider用戶啟動的所有服務:___如何查看目前機器listen的所有端口:____如何查看某進程所占用的各種開銷<如CPU、物理內存、虛擬內存、SOCKET句柄、文件句柄,網絡流量,SOCKET狀態等>(列出你所知道的盡可能多的命令或者通過哪個文件的內容查看):_____如何遠程執行一個命令,比如查看另一臺機器的pstree結果:____參考答案:mkdirrmln–ssourcetargetgrepaafile|grepbbgrep“http://[^/]*/$”pstreespidernetstat–anp|grepLISTENop、vmstat、netstat、iostat、ps、/proc/pid/fd/*、/proc/pid/stat、/proc/net/dev、df、sar、ifconfigssh–n–lusernameaddress“ls”考察點:Linux基礎知識題目2:統計文件單詞出現次數的top10說明:用shell或perl完成下列試題1)文件words存放英文單詞,格式為每行一個英文單詞(單詞可以重復),統計這個文件中出現次數最多的前10個單詞(5分鐘)參考答案:uniq-cwords|head-10|awk'{print$2}'考察點:腳本基礎知識題目3:查找文件名含abc字符的文件考察:shell命令(3min)問題:

查找當前目錄下(及子目錄),文件名含有abc字符的文件(忽略大小寫)參考答案:find.-iname"*abc*"題目4:程序出core后如何調試問題:在linux系統下,程序出core后如何調試?由內存越界引起的core有什么特點?(3分鐘)參考答案:出core后,用gdb進行core文件的調試,調用bt命令查看出core時候的程序堆棧狀態。內存越界引起的core通常來說,堆棧的調用關系會非常混亂。考察點:此題主要考察:對linux下程序調試的掌握。題目5:將目錄下所有文件中的aaa改成bbb說明:用shell完成下列試題:如何將當前目錄下所有文件(包括子文件夾中的文件)中的aaa全部修改成為bbb?(5分鐘)參考答案:1:正常解法:forfilein`find.-typef`;dosed's/aaa/bbb/g'$file>/tmp/abc;cp/tmp/abc$file;done;rm/tmp/abc;#此句可選2Find.–typef|xargssed‘s/aaa/bbb/g’,這個也可視為可行,不過需要sed能夠實現對自身文件的替換。3:find.-typef-execsed's/aaa/bbb/g'{}\;>/tmp/abc-execcp/tmp/abc{}\;這個也是可以的。建議:考慮到用find來搜索目錄數,給1/3的分數。考慮到xargs或者-exec的再給1/3的分數,最后功能完全正確的給1/3的分數。考察點:測試工程師和測試開發工程師腳本基礎知識題目1打印文件每行的最后一個單詞題目描述:

已知文本文件A,要求打印每行的最后一個單詞。使用任意腳本完成考察點:腳本的使用能力答案:perl版本:@lines=<>;foreach$line(@lines){@words=($line=~/(\S+)/g);print@words[@words-1]."\n";}時間:10min題目2:統計某時間點日志分布的條數題目:程序日志打印文件名為logs格式為:NOTICE2009-09-0908:00:00……………[proctime:12ms]……請用(shellpythonperlphp)等任何一種腳本語言實現如下功能:統計2009-09-09

08點到10點間所有日志分布在0-9ms10-99ms100ms+的日志條數(8分鐘)參考答案:Grep-e“NOTICE2009-09-090[8,9].*[proctime:/d+ms]”logs>temp0-9ms的結果個數:Grep–e“[proctime:[0-9]ms]“temp|wc10-99ms的結果個數:Grep–e“[proctime:[1-9][0-9]ms]“temp|wc100ms+的結果:Cattemp|wc減去前兩個結果個數之和考察點:腳本相關題目3:shell編程實現刪除10塊硬盤數據問題:一臺linux機器上有10塊硬盤,分別對應目錄/home/store/0~9,寫一個shell程序并行刪除這10塊硬盤上的數據,并在刪除結束時候打印"刪除完畢"。(10分鐘)參考答案:for((i=0;i<=9;i++))donohuprm-rf/home/store/${i}/*>/dev/null2>&1&delete_stat[${i}]=0donedelete_num=0while[$delete_num-lt10]dofor((i=0;i<=9;i++))doif[delete_stat[${i}]-eq0]thenfile_num=`ls/home/store/${i}/*2>/dev/null|wc-l`if[$file_num-eq0]thendelete_stat[${i}]=1delete_num=`expr$delete_num+1`fifidonesleep1doneecho"刪除完畢"考察點:此題主要考察:shell編程、linux操作系統常用命令掌握。次要考察:邏輯思維能力1.1.1小于20分鐘題目4:找出site.list文件中所有站點及其對應的alias并進行輸出文件site.list中存放站點列表(不重復),文件site.alias中存放站點及其alias,格式為IDsiteID相同的站點互為alias,每個站點的alias數量不固定。例如:1

1

…說明:a)alias是一個站點的別名,比如

就是的別名;b)文件中所有字段的分隔符為制表符tab;【問題】請找出site.list文件中所有站點及其對應的alias并進行輸出,輸出格式為:sitealias1alias2...(10分鐘)參考答案:whilereadlinedoID=`grep"[[:space:]]$line$"site.alias|awk'{print$1}'`grep"^$ID[[:space:]]"site.alias|awk'{print$2}'>tmpcnt=`wc-ltmp|awk'{print$1}'`awk'{if(NR=='$cnt')printf("%s\n",$1);elseprintf("%s\t",$1)}'tmp>>aliasdone<site.list注:答案只給出了shell的。考察點:腳本高級應用題目5(本題答案不全):shell實現找出兩個文件特有及共有的內容在Linux操作系統環境下,現有兩個文本文件:testA文件和testB文件,每個文件的每行內容均不相同,但兩個文件之間有交集。請根據以下的要求,分別找出兩個文件中的,只在testA中有的內容,只在testB中有的內容、兩個文件都包含的內容、,并將這些內容分別寫入文件result_A、result_B、result_same中。(15分鐘)1.請使用shell解決這個問題,并做適當注解說明;2.假設文件testA和testB沒有任何限制說明,那么處理過程中需要注意哪些方面呢?(請盡可能多的考慮各種可能性)參考答案:1.考察linux命令熟悉程度

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論