运维练习题

 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)
N19_kingN19_king
上一篇 2016-06-12
下一篇 2016-06-12

相关推荐

  • mysql数据库及表的管理

    MySQL中字符大小写: 1、SQL关键字及函数名不区分字符大小写; 2、数据库、表及视图名称的大小区分与否取决于低层OS及FS 3、存储过程、存储函数及事件调度器的名字不区分大小写,但触发器区分; 4、表别名区分大不写; 5、对字段中的数据,如果字段类型为Binary类型,则区分大小写;非Binary不区分大小写; 数据库: CREATE {DATABAS…

    Linux干货 2015-06-01
  • linux安全机制与加密工具使用

    一、加密需要和安全机制 1.不加密流量的易受攻击性 密码/数据嗅探 数据操作 验证操作 相当于邮寄明信片 2.不安全的传统协议 telnet、FTP、POP3等等;不安全密码http、sendmail、NFS等等;不安全信息Ldap、NIS、rsh等等;不安全验证 3.NIST定义的安全属性:美国国家标准与技术研究院 1) 保密性:  &…

    Linux干货 2016-09-25
  • mysql5.5.32多实例配置

    操作系统:CentOS release 6.7 (Final) 内核版本:2.6.32-573.el6.x86_64 mysql版本号:mysql-5.5.32 1)安装mysql所需的依赖包 # adduser mysql -s /sbin/nologin -M # mkdir -p&n…

    Linux干货 2016-12-05
  • select和case用法

    一、作业 1、斐波那契数列又称黄金分割数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2) 写一个函数,求n阶斐波那契数列 2、汉诺塔(又称河内塔)问…

    Linux干货 2016-08-21
  • linux用户管理(一)

    作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理: useradd可以在系统中新建一个用户 用法如下: useradd [选项] 用户名 常用选项: -u 指定用户的UID -g 指定用户的初始组ID -G…

    Linux干货 2017-04-03
  • 专属个人的聊天机器人的实现——图灵机器人

    先体验一下:图灵机器人智能聊天体验:http://www.tuling123.com/openapi/cloud/proexp.jsp 1、简介        本篇为大家介绍使用图灵机器人api实现聊天机器人的方法,该api本身已经拥有了智能聊天的功能,但我们可以自定义知识库的方式简单实现专属个人的聊天机器人。 2、开…

    Linux干货 2016-03-28