1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。
答:三次握手:
客户端发起连接请求SYN给服务器端
服务器端发送ACK回应及SYN请求给客户端
客户端发送一个ACK回应给服务器端
保持连接
四次断开:
客户端发起断开请求FIN给服务器端
服务器端发送ACK回应给客户端
服务器端又发送一个FIN请求给客户端
客户端发送一个ACK给服务器端,并等待一段时间再断开
2、说说进程和线程的区别
答:线程可共享内存,而进程不可以。
但正因为线程可共享内存,可能会导致资源争用、加锁等待的问题。而进程之间相互独立。
3、查询file.txt以abc结尾的行
答:grep abc$ file.txt
4、删除file.txt文件中的空行
答:sed -i ‘/[[:space:]]+/d’file.txt
5、打印file.txt文件中的第10行
答:awk ‘NR==10{print}’ file.txt
6、对MySQL数据库test进行备份和恢复
备份:mysqldump -uXXX -pXXX -hXXX –B test -x -E -R > test.sql
恢复:mysql -uXXX -pXXX -hXXX text < test.sql
7、用netstat统计系统当前tcp连接的各种状态的连接数。
答:netstat -tnlp
8、linux下如何将GBK编码格式的test_gbk.txt文件转换成UTF-8编码格式,转化后的文件名为 test_utf8.txt
答:不会做
9、说说你用过哪些监控软件,并简述其原理及适用场景
答:使用过zabbix监控
zabbix监控主要就是:收集数据(SNMP、IPMI、agent等方式收集)——》数据汇总——》设置监控项——》设置触发条件——》使用某种告警媒介——》设置告警后应执行的操作
应用场景:可使用SNMP对交换路由做监控
可对服务器实现系统资源监控及自定义监控
可通过自动发现或agent注册实现监控的自动添加
可通过proxy进行监控
10、写出查看linux系统性能的命令,如cpu、内存、流量、io等
答:top、htop、glance
sar、iostat、iftop、dstat
11、说说nginx的upstream支持的分配策略,并简述其原理
答:nginx的upstream支持有
rr:轮询,按顺序依次对upstream的主机进行访问,默认使用该机制
ip_hash:根据发送请求的IP进行哈希计算,同样的IP来源会一直绑定在同一个后端主机上
least_conn:最少连接,根据后端主机的连接负载进行判断,将请求发送给连接数比较小的后端主机上。支持添加权重,会根据权重值做调整。
12、crontab定时:在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh 怎么实现
答:# crontab –e
0 (6-12)/2 * 11 * /usr/bin/httpd.sh
13、iptables禁止 ip 10.10.10.1 访问本地80端口
答:iptables –A INPUT –s 10.10.10.1 –p –dport 80 –j DROP
14、找出在文件a中但不在文件b中的内容,用命令后编写脚本实现
答:grep -v -Ff b a
#!/bin/env bash
#
PATH=/usr/bin:/usr/sbin:/bin:/sbin:
# 脚本放在a和b的目录中
cd $(dirname $0)
# 将b中的内容做成一个循环体
B=$(cat b)
cat a | while read A;do
for i in $B;do
# 将a中的内容与b中的内容进行比对,若相同则输出
if [ $A == $i ];then
echo $A
fi
done
done
15、编写shell循环创建100个用户,用户名格式user_[0~99]
#!/bin/env bash
#
for i in seq(0..99);do
/usr/sbin/useradd user_$i
done
原创文章,作者:526399002,如若转载,请注明出处:http://www.178linux.com/18577