Loading... <p><strong>1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。</strong></p> <p> 三次握手:</p> <p> a(syn-send) -> send syn -> b(listen)</p> <p> a(syn-send) <- receive syn_ack <- b(sync_recv)</p> <p> a(estabilish) -> send ack -> b(estabilish)</p> <p> 四次挥手:</p> <p> a(fin_wait1) -> send fin -> b(close-wait)</p> <p> a(fin_wait2)<- receive ack <- b(close-wait)</p> <p> a(fin_wait2) <- receive fin <- b(last-ack)</p> <p> a(time_wait)-> send ack -> b(closed)</p> <p></p> <p><strong>2、说说进程和线程的区别</strong></p> <p> 进程是程序运行在内存中的表现。进程都拥有独立地址空间,不同进程之间的资源访问只能通过IPC机制;线程是进程内部的不同执行路径,多个线程除了栈是独立的,其余都共享着进程的内部资源,因此线程占用着更小的内存;进程切换需要保存和切换整个内存空间开销较大,而线程切换仅需要保存和切换线程栈的上下文即可</p> <p> </p> <p><strong>3、查询file.txt以abc结尾的行</strong></p> <p> grep 'abc$' file.txt</p> <p></p> <p><strong>4、删除file.txt文件中的空行</strong></p> <p> sed -i '/^[[:space:]]*$/d' file.txt</p> <p></p> <p><strong>5、打印file.txt文件中的第10行</strong></p> <p> sed -n '10p' file.txt</p> <p></p> <p><strong>6、对MySQL数据库test进行备份和恢复</strong></p> <p> backup:</p> <p> mysqldump –single-transation -uUSERNAME -p test > db.test.sql</p> <p> restore:</p> <p> mysql -uUSERNAME -p test < db.test.sql</p> <p></p> <p><strong>7、用netstat统计系统当前tcp连接的各种状态的连接数。</strong></p> <p> netstat -tn | awk '$1 ~ /^tcp/ {a[$NF]++;} END {for (state in a) { print state,a[state]}}'</p> <p></p> <p><strong>8、linux下如何将GBK编码格式的test_gbk.txt文件转换成UTF-8编码格式,转化后的文件名为 test_utf8.txt</strong></p> <p> iconv -f gbk -t utf-8 test_gbk.txt -o test_utf8.txt</p> <p></p> <p><strong>9、说说你用过哪些监控软件,并简述其原理及适用场景</strong></p> <p> zabbix:</p> <p> 使用master、agent模式,agent负责收集被监控节点的数据,根据其设置主动或被动模式,分别由master向agent获取数据或agent上报数据给master,最终数据由master写入数据库保存,并通过web展示接口从数据库中获取数据、绘制图形并展现到用户</p> <p> 应用场景:</p> <p> 目前主流的统一监控,能支持分布式监控、自定义监控项及告警、监控数据的图表展现,基本上满足日常监控需要的各种场景</p> <p></p> <p><strong>10、写出查看linux系统性能的命令,如cpu、内存、流量、io等</strong></p> <p> cpu:</p> <p> top、htop</p> <p> 内存:</p> <p> free</p> <p> 流量:</p> <p> iftop、nethogs</p> <p> io:</p> <p> iostat</p> <p></p> <p><strong>11、说说nginx的upstream支持的分配策略,并简述其原理</strong></p> <p> rr/wrr:</p> <p> 使用轮询或加权轮询后端server实现负载均衡</p> <p> lc/wlc:</p> <p> 基于后端server的最少连接数来选择要转发至哪个后端server</p> <p> 一致性会话:</p> <p> 基于客户端source ip的hash值来选择特定的后端server,相同sip的请求会转发到同一后端server</p> <p> 基于cookie,在client端植入cookie,每次接收client请求,通过此cookie判断要转发到哪台后端server,因此,同一client的请求会转发到相同的后端server</p> <p></p> <p><strong>12、crontab定时:在11月份内,每天的早上6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh 怎么实现</strong></p> <p> crontab -e</p> <p> * 6-12/2 * 11 * /usr/bin/httpd.sh</p> <p></p> <p><strong>13、iptables禁止 ip 10.10.10.1 访问本地80端口</strong></p> <p> iptables -I INPUT -s 10.10.10.1/32 –dport 80 -j DROP</p> <p></p> <p><strong>14、找出在文件a中但不在文件b中的内容,用命令后编写脚本实现</strong></p> <p> command:</p> <p> grep -v -f b.txt a.txt </p> <p> script:</p> <p> #!/bin/bash</p> <p> </p> <p> while read aline; do</p> <p> bingo=0</p> <p> while read bline; do</p> <p> if [[ "$aline" = "$bline" ]]; then</p> <p> bingo=1</p> <p> break</p> <p> fi</p> <p> done < b.txt</p> <p> [ $bingo -eq 0 ] && echo $aline</p> <p> done < a.txt</p> <p> </p> <p><strong>15、编写shell循环创建100个用户,用户名格式user_[0~99]</strong></p> <p> for id in {0..99}; do useradd user_$id; done</p> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信
2 条评论
555
1