linux系统运维核心笔试题-2020年9月1日最新
前言
本套面试题是学员在面试的过程中通过面试复盘的方式获取到的最新笔试题。
且看且珍惜,切勿外传。
原题
- 查询file.txt 以abc结尾的行
[root@ecs-c13b ~]# grep abc$ file.txt
123abc
1234abc
- 1
- 2
- 3
- 4
- 删除file.txt文件中的空行
[root@ecs-c13b ~]# sed -i /^$/d file.txt
- 1
- 打印file.txt 文件中的第10行
方法一:
[root@ecs-c13b ~]# cat -n file.txt |head |tail -1 10 d
- 1
- 2
方法二:
[root@ecs-c13b ~]# sed -n 10p file.txt
d
- 1
- 2
- 对MySQL数据库test进行备份和恢复
备份
[root@ecs-c13b ~]# mysql -uroot -ppassword -R -single-transaction --quick --default-character-set=utf8 --opt test >/data/backup/test.sql
- 1
恢复
mysql -uroot -ppassword < /data/backup/test.sql
- 1
- 说说你用过的监控工具,并简述器原理和适用场景
用过nagios,cacti和zabbix,也接触过prometheus
简单描述下我对zabbix的理解:
zabbix agent的监控方式,在被监控端安装agent程序,通过zabbix自己的协议主动或者被动发送数据给server端或者代理的proxy端。
适用于服务器,不适用用交换机,路由器,防火墙
SNMP方式监控,通过SNMP协议进行监控,需要开启并配置SNMP,适用于交换机路由器,防火墙的监控。通信协议为UDP
-
写出查看Linux系统的命令如cpu,内存,流量和IO
cpu: top, htop
内存: vmstat free
流量: dstat
IO: iftop -
在11月份,每天的早上6点到12点中,每隔2个小时执行一次/usr/bin/httpd.sh 怎么实现
* 6-12/2 * 11 * /usr/bin/httpd.sh
- 1
- iptables 禁止 ip 10.10.10.1 访问本地80端口
iptables -I INPUT -s 10.10.10.1/32 --dport 80 -j DROP
- 1
- 查看http的并发请求数及其tcp连接数
[root@xinsz08 ~]# netstat -n |awk '/^tcp/{++b[$NF] } END {for(a in b) print a,b[a]}'
ESTABLISHED 2
FIN_WAIT2 1
TIME_WAIT 1
- 1
- 2
- 3
- 4
- 5
补充: 服务器上的一些统计数据
1) 统计80端口连接数
[root@xinsz08 ~]# netstat -nat |grep -i "80" |wc -l
3
- 1
- 2
2) 统计httpd协议连接数
[root@xinsz08 ~]# ps -ef |grep httpd |wc -l
6
- 1
- 2
- 3
3) 统计已经链接上的,状态为established
[root@xinsz08 ~]# ps -ef |grep established |wc -l
1
- 1
- 2
- 3
4) 查出哪个IP地址连接最多
[root@xinsz08 ~]# netstat -na |grep ESTABLISHED |awk '{print $5}'
100.100.30.25:80
- 1
- 2
- 3
- 查看/var/log/目录下文件数
[root@ecs-c13b ~]# ls /var/log/ -lR |grep "^-" |wc -l
79
- 1
- 2
- 统计apache的access.log中访问量最多的ip
[root@xinsz08 ~]# cat /app/httpd24/logs/access_log |awk '{print $1}' |sort |uniq -c |sort -n -r |head -5
87633 222.187.226.143
69284 47.103.47.81
69274 47.92.7.83
69234 47.106.201.78
36834 154.206.44.49
- 1
- 2
- 3
- 4
- 5
- 6
- ps aux 中的VSZ代表什么,RSS代表什么
VSZ 虚拟内存集,进程占用的虚拟内存空间
RSS 物理内存集,进程占用实际物理内存空间
- 如何查看占用端口8080的进程
netstat -anp |grep 8080
- 1
- 写出apache2.x版本的两种工作模式,以及各自的工作原理,如何查看所支持的模块,并查看是在那种模式下。
apache 当前所支持的模块,一种为prefork模式,一种为work模式
prefork: 一个进程仅有一个线程处理一个访问请求,稳定性高,一个进程崩溃后不影响其他的进程,但占用内存较多,对硬件要求比较高。
work: 一个进程具有多个线程,并分别响应访问请求,占用内存小,但是一个进程崩溃会影响其他请求
查看支持模快: httpd -l
查看工作模式: httpd -V
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 写一个脚本,判断一个指定的脚本是否有语法错误,如果用提醒用户按Q/q 无视错误,并退出其他任何键盘可以通过vim打开这个指定的脚本
[root@xinsz08 ~]# cat check.sh
#!/bin/bash
[ $# -ne 1 ] && echo '后面要接你要测试的脚本名字' && exit 1
if bash -n $1 &>/dev/null;then
echo '脚本语法正确,可正常使用'
else
read -p '语法有误!按Q退出,按其他键进入编辑>>' zm
if [ '$zm' == 'q' or '$zm' == 'Q' ];then
exit
else
vim $1
fi
fi
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
总结
每套面试题都涉及到脚本,但脚本几乎大同小异,完全可以提前准备,而且一般笔试要写的 脚本都比较简单
基础一定要牢固,要不笔试做起来会非常痛苦。
文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。
原文链接:zmedu.blog.csdn.net/article/details/108397213
- 点赞
- 收藏
- 关注作者
评论(0)