您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > Linux运维工程师面试题总结
一、有文件file11、查询file1里面空行的所在行号awk‘{if($0~/^$/)printNR}’fileorgrep-n^$file|awk‘BEGIN{FS=”:”}{print$1}’2、查询file1以abc结尾的行grepabc$file13、打印出file1文件第1到第3行sed-n’1,3p’file1head-3file1二、如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.2.1Iptables-APREROUTING-d124.42.60.109-ptcp-mtcp–dport80-jDNAT–to-destination10.0.0.18:9000三、crontab在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh怎么实现06-12/2*11*/usr/bin/httpd.sh四、编写个shell脚本将/usr/local/test目录下大于100K的文件转移到/tmp目录下#!/bin/bashforfilein`ls/root`doif[-f$file];thenif[`ls-l$file|awk'{print$5}'`-gt10000];thenmv$file/tmp/fifidone五、简述raid0raid1raid5三种工作模式的工作原理及特点。RAID0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID0不能应用于数据安全性要求高的场合。LinuxadministrationandmaintenanceengineerinterviewquestionsSummaryRAID1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1可以提高读取性能。RAID1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。简单来说就是:镜象结构,类似于备份模式,一个数据被复制到两块硬盘上。RAID10:高可靠性与高效磁盘结构一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充。主要用于容量不大,但要求速度和差错控制的数据库中。RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常运行。六、oracle数据库备份方式物理备份:开启网络监听,备份数据库文件。RMAN备份:通过表空间文件在RMAN模式对ORACLE数据备份。七、如何查看占用端口8080的进程lsof-i:8080八、请写出apache2.X版本的两种工作模式,以及各自工作原理。如何查看apache当前所支持的模块,并且查看是工作在哪种模式下?答案:prefork(多进程,每个进程产生子进程)和worker(多进程,每个进程生成多个线程)prefork的工作原理是,控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。worker是2.0版中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性。这种MPM的工作方式将是Apache2.0的发展趋势。可以通过命令httpd-l可以查看apache当前的模块,如果带有worker.c就是工作在worker模式下,如果有prefork.c就是工作在prefork.c的模式下。九、你使用过监控软件吗?说说其特点使用nagios对服务器进行监控,其特点可实时实现手机短信、电子邮件、MSN、飞信报警。使用cacti对流量进行监控。十、你对现在运维工程师的理解和以及对其工作的认识运维工程师在公司当中责任重大,需要保证时刻为公司及客户提供最高、最快、最稳定、最安全的服务。运维工程师的一个小小的失误,很有可能会对公司及客户造成重大损失,因此运维工程师的工作需要严谨及富有创新精神。十一、linux下常用的DNS服务软件是什么,举出几种常用的DNS记录,如果域名abc.com配置好了一台邮件服务器,IP地址为202.106.0.20,我该如何做相关的解析?是否了解bind的智能解析,如果了解请简述一下其原理答案:1)常用的DNS软件是bind2)A记录地址记录MX记录邮件交换记录CNAME记录别名域记录3)修改abc.com域名的配置文件,增加以下记录INMX10mail.abc.com.mailINA202.106.0.204)bind根据请求解析客户端的IP地址,做出不同的解析,其原理是在配置文件中,设定了view,在每个view都有客户端的IP地址段,bind服务器根据请求解析客户端的IP地址,匹配不同的view,再根据该view的配置,到相应的配置文件进行查询,将结果返回给请求的客户端。十二、通过apache访问日志access.log统计IP和每个地址访问的次数,按访问量列出前10名。日志格式样例如下192.168.1.247–-[02/Jul/2010:23:44:59+0800]“GET/HTTP/1.1″20019答案:cataccess_log|awk‘{print$1}’|uniq-c|sort-rn|head-10//这个别的方法也能统计,但有些命令是必要的awk,sort,uniq,主要看是否这些命令都使用了。十三、如何用mysql命令进行备份和恢复?以test库为例,创建一个备份,并再用此备份进行恢复。mysqldump-uroot-ptesttest.sqlmysql-uroot-ptesttest.sql//主要考对方msqldumptest.sql和mysqltest.sql十四、你认为在系统调优方面都包括哪些工作,以linux为例,请简明阐述,并举一些参数为例。答案:系统调优包括内核参数优化和应用优化2个方面,对方只要从这两方面来说,就可以了,尽量能有些经验的阐述。有个文件如下:://b.domain.com/1.html://a.domain.com/2.html://a.domain.com/3.html要求:得到主机名(和域名),并统计哪个网址出现的次数,并排序。可以shell或C。得到的结果应该是:3a.domain.com2b.domain.com1c.domain.com[root@mail~]#awk‘BEGIN{FS=”/”}{arr[$3]++}END{for(iinarr)printarr[i],i}’list|sort-r答案3a.domain.com2b.domain.com1c.domain.com挂载windows的共享目录?mount.cifs//IP/SHARElinux的目录--verbose-ouser=username--这个用户是windows下的用户--verbose这个参数可以不加,它是显示过程的例如mount.cifs//10.1.1.246/gongxiang/mnt--verbose-ouser=gao或者是mount-tcifsumount/mnt或umount.cifs/mnt-l--取消挂载图形界面:smb://IPAB网络是通的,最少列出五种传输文件的服务nfs,ftp,scp,rsync,samba,在apache正在运行时,执行命令mvaccess_logaccess_log.bak,执行完后,请问新的apache的日志会打印到哪里,为什么?新的日志会打印在access_log.bak中,因为apache启动时会找到access_log文件,随时准备向文件中加入日志信息,虽然此时文件被改名,但是由于服务正在运行,因为它的inode节点的位置没有变,程序打开的fd仍然会指向原来那个inode,不会因为文件名的改变而改变。apache会继续向已改名的文件中追加日志,但是若重启apache服务,系统会检查access_log文件是否存在,若不存在则创建。2.在Shell环境下,如何查看远程Linux系统运行了多少时间?2、监控主机执行:sshuser@被监控主机ipuptime这样得到了被监控主机的uptime3.处理以下文件内容,将域名取出并进行计数排序,如处理:://://post.baidu.com/index.html://://post.baidu.com/2.html得到如下结果:域名的出现的次数域名3任意一种3、[root@localhostshell]#catfile|sed-e's/http:\/\///'-e's/\/.*//'|sort|uniq-c|sort-rn3[root@codfei4shell]#awk-F/'{print$3}'file|sort-r|uniq-c|awk'{print$1\t,$2}'3如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,如把0123456789作为基准的字串字符表,产生一个6位的字串642031,打印出的字串为130246,可使用bash/perl/php/c任意一种.4、[root@localhost~]#awk-vcount=6'BEGIN{srand();str=0123456789;len=length(str);for(i=count;i0;i--)marry[i]=substr(str,int(rand()*len),1);for(i=count;i0;i--)printf(%c,marry[i]);printf(\n);for(i=0;i=count;i++)printf(%c,marry[i]);printf(\n)}'8387055078385.如何查看当前Linux系统的状态,如CPU使用,内存使用,负载情况等.5、Linux系统中“/proc”是个伪文件目录,不占用系统空间,及时的反应出内存现在使用的进程情况......其中许多文件都保存系统运行状态和相关信息对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:cpuinfo主机CPU信息filesystems文件系统信息meninfo主机内存信息versionLinux内存版本信息diskstatus
本文标题:Linux运维工程师面试题总结
链接地址:https://www.777doc.com/doc-6316416 .html