运维面试题和答案

1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。

#三次握手
客户端向服务器端发送SYN包,客户端进入SYN_SEND状态
服务器端收到客户端发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态
客户端收到服务器端返回的包再发回ACK包,客户端进入ESTABLISHED状态,服务器端收到包也进入ESTABLISHED状态
客户端状态:SYN_SENDE    STABLISHED
服务器端状态:SYN_RCVE    ESTABLISHED
#四次挥手
客户端发送FIN包询问服务器端是否能断开,客户端进入FIN_WAIT_1状态
服务器端收到客户端发送的包并返回ACK包,服务器端进入CLOSE_WAIT状态
服务器端准备好断开后,发送FIN包给客户端,服务器端进入LAST_ACK状态
客户端收到服务器端发送的包后返回ACK包,客户端进入TIME_WAIT状态,服务器端收到包后进入CLOSED状态
客户端状态:FIN_WAIT_1    FIN_WAIT_2    TIME_WAIT
服务器端状态:CLOSE_WAIT    LAST_ACKC    LOSED

2、说说进程和线程的区别

进程是并发执行的程序在执行过程中分配和管理资源的基本单位。
线程是进程的一部分,线程的改变只代表了 CPU 执行过程的改变,而没有发生进程所拥有的资源变化。

3、查询file.txt以abc结尾的行

grep "abc$" file.txt

4、删除file.txt文件中的空行

sed -i '/^$/d' file.txt

5、打印file.txt文件中的第10行

sed -n '10p' file.txt

head -10 file.txt | tail -1

6、对MySQL数据库test进行备份和恢复

备份:

mysqldump -uroot -pPassword -hHostname test >/root/test.sql

恢复:

mysql -uroot -pPassword -hHostname </root/test.sql

7、用netstat统计系统当前tcp连接的各种状态的连接数。

netstat -nat| awk '{print $6}'| sort | uniq -c

8、linux下如何将GBK编码格式的test_gbk.txt文件转换成UTF-8编码格式,转化后的文件名为 test_utf8.txt

iconv -f GBK -t UTF-8 test_gbk.txt -o test_utf8.txt

9、说说你用过哪些监控软件,并简述其原理及适用场景

#zabbix
    agent方式监控:在被监控端安装agent程序,通过zabbix自己的协议主动或被动发送数据给server端或代理的proxy端,
适用于服务器、工作站的监控,不适用于交换机、路由器、防火墙的监控。
    SNMP方式监控:通过SNMP协议进行监控,需要开起并配置SNMP服务,适用于网络设备(交换机、路由器、防火墙)的监控,
通信协议为UDP,所以不适用于服务器、工作站的监控。

10、写出查看linux系统性能的命令,如cpu、内存、流量、io等

top,free,iftop,iostat

11、说说nginx的upstream支持的分配策略,并简述其原理

轮询:默认的方式,按时间顺序依次分配
weight:根据服务器权重进行轮询分配
ip_hash:按ip的hash值进行分配,可以解决session保持
url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效
fair:按服务器响应时长进行分配

12、crontab定时:在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh  怎么实现

0 6-12/2 * 11 * /usr/bin/httpd.sh

13、iptables禁止 ip 10.10.10.1 访问本地80端口

iptables -t filter -I INPUT -p tcp -s 10.10.10.1 --dport 80 -j DROP

14、找出在文件a中但不在文件b中的内容,用命令后编写脚本实现

#!/bin/bash
diff /root/a /root/b | grep "<" | awk '$1=" "'

15、编写shell循环创建100个用户,用户名格式user_[0~99]

#!/bin/bash
for i in {1..100};do
        useradd user_$i
done
echo "ok"

原创文章,作者:N17_信风,如若转载,请注明出处:http://www.178linux.com/18051

(9)
N17_信风N17_信风
上一篇 2016-06-09
下一篇 2016-06-11

相关推荐

  • 习题

    1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 6、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) 7、显示/etc/…

    Linux干货 2016-08-07
  • shell脚本语言的for循环使用方法和案例

    在shell语言中bash是用的最多的,其语法简单。以指令为核心快速解决常用的问题。所有语言中逻辑控制是必不可少的,它可以帮助我们减少不必要的重复性工作。今天我们就来说说所有语言都会使用的神奇的for循环,学了它以后不仅知道如果规避重复的工作,还能理解程序的运行原理。         for循环是什么?&nb…

    Linux干货 2017-04-16
  • 关于生命中的根

    关于生命中的根    擦干心中的血和泪痕    留住我们的根 关于生命中的根 鸿蒙初辟,万物生于根 寻根之旅 根就是根 我即为根 路在何方 鸿蒙初辟,万物生于根    自linux老祖Torvalds创根之始至今,根一直为linux之本,而FHS(Filesystem Hierarchy Stand…

    Linux干货 2016-10-27
  • BT雷人的程序语言

    这个世界从来都不会缺少另类的东西,人类自然世界如此,计算机世界也一样。编程语言方面,看过本站《6个变态的C语言Hello World程序》的朋友们一定对BT和另类不会陌生,但那都是些小儿科,真正的BT和另类要是从语言级上来完成。让我们来看看其中一个比较另类的语言BrainFuck。看到这个程序语言的名字,请不要以为这是一个搞笑的语言,这是一个“严肃事情”,请…

    Linux干货 2015-04-03
  • sed 高级编辑命令、模式空间、保持空间、vi 可视化模式、vimrc、地址定界

    sed 高级编辑命令、模式空间、保持空间、vi 可视化模式、vimrc、地址定界 sed(stream deitor):行编辑器 【概述】sed是一种流式编辑器,它一次处理一行内容。处理时,把当前处理的行的所有内容存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,逐行处理,不修改文件。sed主要…

    Linux干货 2016-08-11
  • 软件包管理详解

      软件包管理器 1、功能: (1)将软件包打包成一个文件,其中包括: ①二进制程序 ②库文件 ③配置文件 ④帮助文件 (2)生成数据库,追中所安装的每一个文件。 2、软件包管理器的核心功能: (1)制作软件包 (2)安装、卸载、升级、查询、校验 3、不同发行版的不同的…

    2017-08-11