《(全)面试题 脚本及Linux操作题含答案.docx》由会员分享,可在线阅读,更多相关《(全)面试题 脚本及Linux操作题含答案.docx(11页珍藏版)》请在优知文库上搜索。
1、面试题脚本及LinUX操作题含答案题目1简单Shell命令按照要求书写shell命令(10分钟):文件操作:如何创建一个目录:一_如何删除一个文件:一_如何创建一个软链接:文件内容操作:如何匹配既包含aa又包含bb的行:如何匹配包含站点Uri(如:Mtp:WWW系统相关:如何查看SPider用户启动的所有服务:如何查看目前机器IiSten的所有端口:如何查看某进程所占用的各种开销如CPU、物理内存、虚拟内存、SOCKET句柄、文件句柄,网络流量,SoCKET状态等(列出你所知道的尽可能多的命令或者通过哪个文件的内容查看):如何远程执行一个命令,比如查看另一台机器的pstree结果:参考答案:m
2、kdirrmIn-ssourcetargetgrepaafilegrepbbgrephttp:八/*/$pstreespidernetstat-anpgrepLISTENop、vmstatxnetstatxiostatxps、procpidfd*sprocpidstat、procnetdevxdf、sar、ifconfigssh-n-Iusernameaddress,sn考察点:Linux基础知识题目2:统计文件单词出现次数的toplO说明:用shell或perl完成下列试题1)文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词(5分钟
3、)参考答案:uniq-Cwordshead-10awkprint$2考察点:脚本基础知识题目3:查找文件名含abc字符的文件考察:shell命令(3min)问题:查找当前目录下(及子目录),文件名含有abc字符的文件(忽略大小写)参考答案:find.-inamen*abc*n题目4:程序出core后如何调试问题:在Iinux系统下,程序出core后如何调试?由内存越界引起的core有什么特点?(3分钟)参考答案:出core后,用gdb进行core文件的调试,调用bt命令查看出core时候的程序堆栈状态。内存越界引起的core通常来说,堆栈的调用关系会非常混乱。考察点:此题主要考察:对Iinux
4、下程序调试的掌握。题目5:将目录下所有文件中的aaa改成bbb说明:用shell完成下列试题:如何将当前目录下所有文件(包括子文件夹中的文件)中的aaa全部修改成为bbb?(5分钟)参考答案:1:正常解法:forfileinfind.-typef;dosed,saaabbbg,$filetmpabc;cptmpabc$file;done;rmtmpabc;#此句可选2Find.-typefxargssedzsaaabbbgz,这个也可视为可行,不过需要sed能够实现对自身文件的替换。3 :find.-typef-execsed,saaabbbg,Vtmpabc-execcptmpabc;这个也
5、是可以的。建议:考虑到用find来搜索目录数,给1/3的分数。考虑到xargs或者-exec的再给1/3的分数,最后功能完全正确的给1/3的分数。考察点:测试工程师和测试开发工程师脚本基础知识题目1打印文件每行的最后一个单词题目描述:已知文本文件A,要求打印每行的最后一个单词。使用任意脚本完成考察点:脚本的使用能力答案:perl版本:()ines=;foreach$line(lines)words=($line=/(S+)g);printwordswords-l.n;)时间:IOmin题目2:统计某时间点日志分布的条数题目:程序日志打印文件名为logs格式为:NOTICE2009-09-090
6、8:00:00proctime:12ms请用(SheHpythonperlPhP)等任何一种脚本语言实现如下功能:统计2009-09-0908点到10点间所有日志分布在09ms10-99ms100ms+的日志条数(8分钟)参考答案:Grep-eNOTICE2009-09-0908z9.*proctimed+msx,logstemp0-9ms的结果个数:Grep-ei,proctime:0-9ms,tempwc10-99ms的结果个数:Grep-eproctime:l-90-9ms,tempwc100ms+的结果:CattempIWC减去前两个结果个数之和考察点:脚本相关题目3:shell编程实
7、现删除10块硬盘数据问题:一台Iinux机器上有10块硬盘,分别对应目录homestore0-9,写一个shell程序并行删除这10块硬盘上的数据,并在删除结束时候打印”删除完毕二QO分钟)参考答案:for(i=0;idevnull2&1&delete_stat$i=0donedelete_num=Owhile$delete_num-It10dofor(i=0;idevnullwc-if$file_num-eq0thendelete_stat$i=ldelete_num=expr$delete_num+1fifidonesleep1doneecho”删除完毕”考察点:此题主要考察:Shell编
8、程、IinUX操作系统常用命令掌握。次要考察:逻辑思维能力1.1.1小于20分钟题目4:找出SiteJist文件中所有站点及其对应的alias并进行输出文件site.list中存放站点列表(不重复),文件site.alias中存放站点及其alias,格式为IDsiteID相同的站点互为alias,每个站点的alias数量不固定。例如:说明:a)alias是一个站点的别名,比如就是的别名;b)文件中所有字段的分隔符为制表符tab;【问题】请找出SiteJist文件中所有站点及其对应的alias并进行输出,输出格式为:sitealiaslalias2.(10分钟)参考答案:whilereadlin
9、edoID=grep:space:$line$site.aliasawkprintSl,grepA$ID:space:nsite.aliasawkprint$2,tmpcnt=wc-Itmpawkprint$1,Xawk,if(NR=,Scnt)printf(,%snzSl)jelseprintf(,%st,zSl),tmpaliasdonesite.list注:答案只给出了shell的。考察点:脚本高级应用题目5(本题答案不全):Shell实现找出两个文件特有及共有的内容在LirIUX操作系统环境下,现有两个文本文件:testA文件和testB文件,每个文件的每行内容均不相同,但两个文件之间
10、有交集。请根据以下的要求,分别找出两个文件中的,只在testA中有的内容,只在testB中有的内容.两个文件都包含的内容、,并将这些内容分别写入文件result_Aresult_Bresult_same中。(15分钟)1.请使用shell解决这个问题,并做适当注解说明;2.假设文件testA和testB没有任何限制说明,那么处理过程中需要注意哪些方面呢?(请尽可能多的考虑各种可能性)参考答案:1 .考察IinUX命令熟悉程度及脚本相关知识及解题思路IinUX下有多个可直接对排序后文件处理的命令,如Uniq、comm;可利用awk中的hash表功能进行处理。2 .考察基本编程语言,及不同语言特性对此题的影响。3 .考察问题分析能力,思考全面性;可以将此问题思考为对于此功能,将如何进行测试?需注意的点:一行内容超长,文件总行数超多,32位系统下文件大于2G,文件为空,等等