一、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/ root@192.168.1.100:/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上的如下URL:http://www.baidu.com/s?wd=test,访问的超时时间是20秒:
三、LAMP相关
1. 写出如何给apache增加virtualhost,让访问http://www.test.com和http://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://images.baidu.com的时候,自动访问源站:http://src.images.baidu.com
2. 请说明下面zabbix监控项配置的意义:
UserParameter=dns.duration_[*],/opt/tools/dns_status.sh | grep "^$1:" | awk '{print $$3}'
3. 如何给一个名称为CentOS62的KVM虚拟机创建快照
五、综合问答:
如果一个Linux系统响应十分缓慢,SSH进去后执行命令等一分钟才有响应,请说明各种可能的原因,并阐述如何分析并找到问题源头?