运维练习题

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

客户端向服务器发送SYN包,客户端进入syn_SEND状态
服务端收到客户端的发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态
客户端收到服务器端返回的包再发ACK包,客户端进入ESTABLISHED状态,服务器收到包也进入ESTABLISH
ED状态
客户端状态:SYN_SENDE    STABLISHED
服务器端状态:SYN_RCVE    ESTABLISHED
TCP四次挥手
客户端发送FIN包询问服务器端是否能断开,客户端进入FIN_WAIT_1状态
服务器端收到客户端发送的包并返回ACK包,服务器端进入CLOSE_WAIT状态
服务器端准备好断开后,发送FIN包给客户端,服务器端进入LAST_ACK状态
客户端收到服务器端发送的包后返回ACK包,客户端进入TIME_WAIT状态,服务器端收到包后进入CLOSED状态
客户端状态:FI
> N_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行
head -10 file.txt | tail -1
6、对MySQL数据库test进行备份和恢复

备份:mysqldup -uroot -pPassword -hHostname test >/root/backup/test.sql
恢复:mysql -uroot -pPassword -hHostname </root/backup/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 htop free 
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 $(seq 1 100);do
       if ! id user_$i &>/dev/null || useradd user_$i
done

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

(0)
上一篇 2016-06-12 16:48
下一篇 2016-06-12 18:31

相关推荐

  • M20 – 1- 第三周博客(3):Linux中文本处理工具

    1、文件查看查看工具 Linuxzhong存在着很多配置文件以及脚本,那Linux中也自带了查看文本的工具: cat 命令 简介: cat – concatenate files and print on the standard output 格式: cat&nbsp…

    Linux干货 2016-08-07
  • shell入门 (一)

    Shell就是一个命令行解释器 ,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive)。 Shell还有一种执行命令的方式称为批处理 (Batch),用户事先写一 个Shell脚本 (Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一…

    Linux干货 2017-08-26
  • 集中管理利器-puppet快速入门-上

    带着问题来学习 Ø  从如下内容来看,如何自定义安装用户想要的东西呢?                                        …

    Linux干货 2015-04-22
  • 重要开源协议解析(BSD,Apache,GPL,LGPL) 整理

    现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议详见其网站(http://www.opensource.org/licenses/alphabetical)。我们在常见的开源协议如BSD, GPL, LGPL等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。 这里整理了四种最常用的…

    Linux干货 2016-07-22
  • 基于keepalived实现高可用nginx服务

    基于keepalived实现高可用nginx服务 环境及配置前提说明 主机1,ip:192.168.25.140 运行web服务 主机2,ip:192.168.25.141 运行web服务 主机3,ip:192.168.25.138 运行nginx服务和keepalived服务 主机4,ip:192.168.25.139 运行nginx服务和keepaliv…

    Linux干货 2016-11-07
  • awk用法三

      6、结构化控制语句     6.1 if语句       格式:if(条件) {body} else {else body}         实例1:判断/etc/passwd文件中的UID如果大于500则显示为“common user”,否则显…

    Linux干货 2016-02-14