运维面试题大全(不定期更新!!!)
1.查看http的并发请求数与其TCP连接状态
netstat -n | grep '^tcp' | awk '{print $6}' | sort | uniq -c
2.用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c
3.查看/var/log目录下文件数
ll -R /var/log/ | grep "^_" | wc -l
4.查看当前系统每个IP的连接数
netstat -n | grep '^tcp' | awk '{print $4}' | awk -F: '{print $1}' | sed -e '/^$/d'
5.shell下32位随机密码生成
cat /dev/urandom | head -1 | md5sum | head -c 9
6.统计出nginx的access.log中访问量最多的5个IP
cat /usr/local/nginx/logs/access.log | awk '{print $1}' | sort | uniq -c | sort -n -r | head -5
7.Linux系统的开机启动顺序
加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用户命令行,5是界面)–>init进程执行rc.syninit–>启动内核模块–>执行不同级别运行的脚本程序–>执行/etc/rc.d/rc.local(本地运行服务)–>执行/bin/login
8.在1-39内取随机数
expr $[$RANDOM%39] + 1
9.FTP的主动模式和被动模式
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XX端口,你过来连接我”。于是服务器从20端口向客户端的 XX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XX端口,你过来连接我”。于是客户端向服务器的XX端口 发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完 全不同。
10.显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行
grep "\:[0-9]\{1\}\:" /etc/inittab
11.怎么把脚本添加到系统服务里,即用service来调用
12.写一个脚本,实现批量添加20个用户,用户名为user01-20,密码为user后面跟5个随机字符
13.写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线
14.写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本
#!/bin/bash