一、Linux系统和Shell

1.  写一个sed命令,修改/tmp/input.txt文件的内容,要求:(1) 删除所有空行;(2) 一行中,如果包含"11111",则在"11111"前面插入"AAA",在"11111"后面插入"BBB",比如:将内容为0000111112222的一行改为:0000AAA11111BBB2222

#sed '^$/d ' input.txt

#sed-i '/allow /tmp/11111 /i\allow AAA' input.txt

#sed-i '/allow /tmp/11111 /a\allow BBB' input.txt

 

2.  每周一下午三点将/tmp/logs目录下面的后缀为*.log的所有文件rsync同步到备份服务器192.168.1.100中同样的目录下面,crontab配置项该如何写:

#crontab–e

*15 * * 1 rsync -vazu /tmp/logs/ [email protected]:/tmp/logs

 


3.  找到/tmp/目录下面的所有名称以"_s1.jpg"结尾的普通文件,如果其修改日期在一天内,则将其打包到/tmp/back.tar.gz文件中

#find/tmp –name “*_sj.jpg” -type f –mtime 1 –print 

 

4.  写出SHELL函数RevertInput,函数必须获取三个参数,然后将三个参数倒序echo打印出来,函数必须检查参数个数的合法性,如果参数非法,打印”Illegalparameters”,对于下面的输入:

RevertInput “this is para1” para2para3

应该输出:

para3

para2

this is para1

(注:需要注意第一个参数中的空格)


5.  如果一个系统使用LVM进行分区管理,请写出调整一个逻辑卷分区大小的命令:

 


6.  如何找出当前系统中磁盘I/O读写占用最高的程序:


 

二、网络相关

1.  一个域名是否可以配置多个A记录?一个域名是否可以配置成多个其他域名的CNAME

 

2.  请写出用tcpdump抓取符合如下条件包的命令:(1)目标端口是 80(2) 来源IP或者是1.1.1.1,或者是2.2.2.2(3) UDP包;

 

3.  netstat命令配合其他shell命令,按照来源IP统计下所有到80端口的ESTABLISHED状态链接的个数,输出结果类似(第一列为连接数,第二列为IP):

    12 202.165.123.2

    35 202.165.123.2

    69 202.165.123.2

 

4.  写出一个curl命令,访问指定服务器61.135.169.121上的如下URLhttp://www.baidu.com/s?wd=test,访问的超时时间是20秒:

 

三、LAMP相关

1.  写出如何给apache增加virtualhost,让访问http://www.test.comhttp://www.test.cn的时候,都打开/var/www/html目录下面的文件:

 

2.  写一个shell命令,统计apache日志文件(access_log)中某一天中每个URL的访问次数,并按照次数由小到大的顺序排序输出:

 

3.  如果配置mysql服务器的时候,配置了auto_increment_increment=3,请问这里的3意味着什么?

 


4.  如何打开PHP文件的出错输出

 


四、缓存、监控、KVM

1.  如何配置squid,让访问http://p_w_picpaths.baidu.com的时候,自动访问源站:http://src.p_w_picpaths.baidu.com

 


2.  请说明下面zabbix监控项配置的意义:

UserParameter=dns.duration_[*],/opt/tools/dns_status.sh  | grep "^$1:" | awk '{print $$3}'

 


3.  如何给一个名称为CentOS62KVM虚拟机创建快照

 


五、综合问答:

如果一个Linux系统响应十分缓慢,SSH进去后执行命令等一分钟才有响应,请说明各种可能的原因,并阐述如何分析并找到问题源头?