运维面试题大全(不定期更新!!!)

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来调用

在脚本加入以下参数
#!/bin/bash
# chkconfig: 345 85 15
# description: httpd

12.写一个脚本,实现批量添加20个用户,用户名为user01-20,密码为user后面跟5个随机字符

for i in `seq -f"%02g" 1 20`;do
useradd user$i
echo "user$i-`echo $RANDOM|md5sum|cut -c 1-5`"|passwdstdinuser$i >/dev/null 2>&1
done
 

13.写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线

#!/bin/bash
for ip in `seq 1 255`
  do
    {
     ping -c 1 192.168.1.$ip > /dev/null 2>&1
     if [ $? -eq 0 ]; then
          echo 192.168.1.$ip UP
     else
          echo 192.168.1.$ip DOWN
     fi
   }&
done
wait
 

14.写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本

#!/bin/bash

read -p "please input check script-> " file
if [ -f $file ]; then
    sh -n $file > /dev/null 2>&1
    if [ $? -ne 0 ]; then
        read -p "You input $file syntax error,[Type q to exit or Type vim to  edit]" answer
        case $answer in
        q | Q)
           exit 0
           ;;
        vim )
           vim $file
           ;;
        *)
         exit 0
         ;;
        esac
   fi
else
    echo "$file not exist"
    exit 1
fi
 
原文地址:https://www.cnblogs.com/sjie0224/p/6872507.html