高考作业

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

TCP三路握手,作用为完成三次握手,主机A与主机B开始传送数据。

第一次握手:客户端A(状态为SYN_SEND)发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,服务器B(状态为LISTEN)由SYN=1知道,客户端A要求建立联机;

第二次握手:服务器B(状态为SYN_RECV)收到请求后要确认联机信息,向客户A发送ack number=(客户端A的seq+1),syn=1,ack=1,随机产生seq=7654321的包

第三次握手:客户端A(状态为ESTABLISHED)收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,客户端A会再发送ack number=(服务器B的seq+1),ack=1,服务器B(状态为ESTABLISHED)收到后确认seq值与ack=1则连接建立成功。

 

TCP四路挥手,是因为TCP连接是全双工的,因此每个方向都必须单独进行关闭。

(1)客户端A(状态为FIN_WAIT)发送一个FIN,用来关闭客户A到服务器B(状态为)的数据传送。

(2)服务器B(状态为CLOSE_WAIT)收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。

(3)服务器B(状态为LAST_ACK)关闭与客户端A的连接,发送一个FIN给客户端A。

(4)客户端A(状态为TIME_WAIT)发回ACK报文确认,并将确认序号设置为收到序号加1。

 

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

进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。

线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成,线程与同属一个进程的其他的线程共享进程所拥有的全部资源。

他们之间的区别是:进程有独立的地址空间,线程没有单独的地址空间。

 

3、查询file.txtabc结尾的行

Grep  "abc$"  file.txt

 

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

Cat  file.txt | tr -s '\n'

 

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

tail  -n  +10  file.txt  >  files.txt

mv   files.txt  file.txt

 

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

 

备份:mysqldump  –u USERNAME  –p test > test_db.test.sql

恢复:mysql  -u USERNAME -p test < test_db.test.sql

 

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

netstat -nat|wc –l

 

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

iconv -f gbk -t utf-8 test_gbk.txt -o test_utf8.txt

 

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

A、OpenTSDB  用HBase存储所有的时序(无须采样)来构建一个分布式、可伸缩的时间序列数据库,它支持秒级数据采集所有metrics,支持永久存储,可以做容量规划,并很容易的接入到现有的报警系统里。OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的metrics并进行存储、索引以及服务,从而使得这些数据更容易让人理解,如web化、图形化等。适用于大型服务器分布式集群。

B、InfluxDB  是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。适用于大型服务器分布式集群。

C、Graphite   是一个用于采集网站实时信息并进行统计的开源项目,可用于采集多种网站服务运行状态信息。Graphite服务平均每分钟有4800次更新操作。实践已经证实要监测网站发发生什么是非常有用的,它的简单文本协议和绘图功能可以方便地即插即 用的方式用于任何需要监控的系统上。适用于特大型服务器分布式集群。

 

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

cputophtop

内存:free

流量:iftopnethogs

ioiostat

硬盘空间:df -hl

 

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

Nginx的upstream支持5种分配方式:

1、轮询  轮询是upstream的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端服务器,如果某个后端服务器down掉后,能自动剔除。

2、weight 轮询的加强版,即可以指定轮询比率,weight和访问几率成正比,主要应用于后端服务器异质的场景下。

3、ip_hash 每个请求按照访问ip(即Nginx的前置服务器或者客户端IP)的hash结果分配,这样每个访客会固定访问一个后端服务器,可以解决session一致问题。

4、 url_hash 与ip_hash类似,但是按照访问url的hash结果来分配请求,使得每个url定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景下。

5、fair fair顾名思义,公平地按照后端服务器的响应时间(rt)来分配请求,响应时间短即rt小的后端服务器优先分配请求。

 

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

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

 

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

iptables -I INPUT -s 10.10.10.1/32 –dport 80 -j DROP

 

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

 

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

for id in {0..99}; do useradd user_$id; done

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

(0)
xue2016xue2016
上一篇 2016-06-22 15:45
下一篇 2016-06-22

相关推荐

  • 17周博客作业 LVS+nginx+php(nginx与php分离)

    1、结合图形描述LVS的工作原理; LVS是一种用软件实现的LB集群; 作用于传输层; LVS工作原理:通过Director调度把用户请求按照分配算法分配给后端的Real server,然后由后端Real server响应客户请求; lvs模式分为三种。 lvs-nat: 多目标的DNAT:通过将请求报文的目标地址和目标端口修改为挑选出某…

    Linux干货 2016-11-07
  • 初识Linux

        Linux系统现在如日中天,特别是在如今的互联网+大潮下,大数据、云计算、移动设备嵌入式设备等,无不显现着linux的身影。 现在,问题来了,Linux究竟是个什么鬼?我们平时经常接触的RedHat,CentOS等又是什么东东?别急,让我们一起来慢慢了解一下。     Linux是个类Unix操作系统,设计风格…

    Linux干货 2016-05-23
  • N25第三周博客作业

    第三周博客作业: 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。                  …

    Linux干货 2016-12-12
  • 系统基础之权限管理作业题

    1.问题:  在/data/testdir里创建的新文件自动属于g1组,组g2的成员如: alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@wen-7 testdir]# mkdir -p /data/…

    Linux干货 2016-08-04
  • 计算机的组成及其功能

    1.计算机的组成及其功能 1.1计算机的硬件基本结构 从ENIAC到当前最先进的计算机都采用的是冯·诺依曼体系结构分别是:控制器,运算器,存储器,输入与输出设备 控制器:将指令逐条从存储器中取出,经译码分析后向全机发出相应         的操作控制信号作用于其他部件,使各部件有…

    Linux干货 2016-10-28
  • 08.08 笔记总结

    1. 使用sed显示特定行  sed -n '20p' /etc/passwd  // 显示/etc/passwd中第20行 命令相当于  cat /etc/passwd | head -20 | tail -1 2. sed -ibak '/^UUID.*/d' /etc/fstab &…

    Linux干货 2016-08-12

评论列表(1条)

  • stanley
    stanley 2016-06-22 15:46

    都说题目很重要!今天领略了