第一阶段测试题

官方参考答案:https://s1.51cto.com/images/blog/201908/30/fbd10ff6a3612dc55850367254afad36.png
https://s1.51cto.com/images/blog/201908/30/207e34da56ccf074e63b96cbc6f55b31.png
我不改了~

一、简答题

1、简述三次握⼿和四次挥⼿的过程和状态变化?(请安照给出例⼦的格式,依次列出)

例:(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server, Client进入SYN_SENT状态,等待Server确认

答案:

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers),表示建立连接。即主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;即主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手,表示响应。即主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。

完成三次握手,客户端与服务器开始传送数据

四次挥手:

参考:https://www.jellythink.com/archives/240

当客户端和服务器通过三次握手建立了TCP连接以后,当数据传送完毕,肯定是要断开TCP连接的啊。那对于TCP的断开连接,这里就有了神秘的“四次分手”。

  1. 第一次分手:主机1(可以使客户端,也可以是服务器端),设置Sequence NumberAcknowledgment Number,向主机2发送一个FIN报文段;此时,主机1进入FIN_WAIT_1状态;这表示主机1没有数据要发送给主机2了;
  2. 第二次分手:主机2收到了主机1发送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment NumberSequence Number加1;主机1进入FIN_WAIT_2状态;主机2告诉主机1,我已经知道你没有数据要发送了;
  3. 第三次分手:主机2向主机1发送FIN报文段,请求关闭连接,同时主机2进入CLOSE_WAIT状态;
  4. 第四次分手:主机1收到主机2发送的FIN报文段,向主机2发送ACK报文段,然后主机1进入TIME_WAIT状态;主机2收到主机1的ACK报文段以后,就关闭连接;此时,主机1等待2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,主机1也可以关闭连接了

2、某个⽂件占⽤了过多磁盘空间,rm删掉之后发现空间并没释放,是什么原因?如何解决?

原因:该文件可能被某程序占用

解决:> filename

3、⽤cp命令,将/etc/fstab复制到/data/dir,⾄少需要什么权限?

cp 至少有执行权限

/etc/ 至少x权限

/etc/fstab 至少r权限

/data/dir 至少wx权限

参考此表:

权限总结

操作 源目录权限 文件权限 目标目录权限
rm删文件 wx - -
mv改名 wx - -
mv移动文件 wx r wx
cp复制文件 x r wx
>生成文件 wx - -
>>追加内容到文件 x w -
>覆盖文件内容 x w -
vim编辑 x rw -
执行二进制文件 x x -
执行shell脚本 x rx -

4、CentOS7中默认的Shell是什么?其他shell还有什么?(⾄少3种)

默认:bash

其他:zsh csh sh

5、如何在/data⽬录找到⼤于100k的⽂件并删除?

find /data/ -type f -size +100k -delete
或者
find /data/ -type f -size +100k -exec rm {} \;
或者配合xargs

6、如何执⾏history中上⼀条的命令?(⾄少两种

!历史命令编号
!历史命令前几个字符
CTRL+r搜索

7、⽇志⽂件access.log,内容是时间顺序递增,从10⽇0点到12⽇23点的所有⽇志记录,每条时间的⽇ 志为⼀⾏:

2016/06/10 00:00:00 - - 200 190 http://www.a.com/o1html xxxxxxx 
2016/06/10 00:00:01 - - 200 390 http://www.b.com/o1html xxxxxxx 
2016/06/10 00:00:02 - - 200 490 http://www.v.com/o.html xxxxxxx 
...... 
2016/06/12 23:59:57 - - 200 131 http://www.9.com/o.html xxxxxxx 
2016/06/12 23:59:58 - - 200 489 http://www.r.com/o.net xxxxxxx 
2016/06/12 23:59:59 - - 200 772 http://www.w.com/o.php xxxxxxx 

(1)打印出2016年6⽉10⽇07点到8点之间的所有⽇志? (2)打印出2016年6⽉12⽇15:30:05到22:45:55之间的所有⽇志?

grep "2016/06/10 07" access.log
sed -rn '/2016\/06\/10 00:00:02/,/2016\/06\/12 23:59:58/p' access.log

8、使⽤rpm命令分别安装、卸载、更新ntp-0.7.rpm软件包?(请写三条命令)

rpm -ivh ntp-0.7.rpm
rpm -e ntp-0.7
rpm -U ntp-0.7.rpm

就这样

9、查出netstat -tn命令中,状态处理ESTABLISHED的远程主机IP 连接数最多的前⼗个IP?

[root@localhost data]# netstat -nt  | awk   -F ':|[[:space:]]+'    '/ESTAB/ {print $4}' | sort -nr | head
192.168.38.140
192.168.38.140

10、10.0.0.0/8 全国给32个省份划分各⾃⼦⽹。(请注意:北京是第20个⼦⽹,不是20⼦⽹!)

(1)子网掩码? (2)最小子网,最大子网? (3)每个子网的主机数? (4)第20个子网给北京使用,最小ip,最大ip?

参考:http://www.ab126.com/web/3552.html

(1)255.248.0.0                          # 2的5次方等于32
(2)10.8.0.0/13      10.248.0.0/13
(3)2^19-2
(4)10.152.0.1       10.159.255.254

11、某单位的内部服务器地址是172.22.0.7,⽤户是wang,密码是magedu,请问如何把你本机的脚 本/data/id.sh传送给该服务器的/data/⽂件夹?

scp /data/id.sh [email protected]:/data/

12、发现⼀台linux主机⽆法上⽹,将做些什么检查和排错?(⾄少3项)

检查网线插好没

ping www.baidu.com 能上网就说明是浏览器问题

ping 8.8.8.8 ping8.8.8.8能通但ping网站不通就是DNS问题

如果8.8.8.8不通,ping下网关,网关通了上不了网就可以能路由器没网

如果网关ping,DHCP获取下IP,有可能IP冲突了

13、符号链接和硬链接的区别(⾄少3条)

软链接:

1.本质上,软链接是一个符号文件指向另一个文件,硬链接会增加额外的来记录以引用文件

2、软链接可以对目录操作,硬链接不行

3、软链接可以跨分区,硬链接不行

4、删除源文件后,软链接不可用,硬链接不影响

5、软链接占用inode节点号,硬链接不占用inode节点号,和源文件inode节点号一样

6、软链接的大小跟源文件名的长度有关,一个字符1B。硬链接大小显示和源文件一样

(通常情况下,设置硬链接文件时,不会占用磁盘空间和inode。新建一个硬链接只是在某个目录(硬链接所在的当前目录)下的block里多写入一条关联数据而已。只有在当前目录的block刚好填满时,才有可能为当前目录新增一个block来记录文件名和inode的关联记录
因为硬链接所用掉的关联数据量很小,所以说硬链接通常不会改变inode和磁盘空间大小)

7、相对路径:硬链接相对cwd,软链接相对于软链接文件的相对路径

14、⼀块新硬盘插⼊linux主机后,怎样才能正常使⽤?简要说明主要操作步骤(⾄少3步)

1、触发磁盘扫描

for i in seq 0 2;do echo - - - > /sys/class/scsi_host/host$i/scan;done

2、创建分区

fdisk /dev/sdb ...partprobe和partx

3、创建文件系统

mkfs.ext4 /dev/sdb1

4、写入fstab挂载

/dev/sdb1/ 挂载点 ext4 defaults 0 0

mount -a

15、编写脚本auto-del-log.sh,⾃动删除/data/logs下⼤于30天的所有.log⽇志,每天0点10分⾃动执 ⾏

[root@linux1 tmp]# cat > auto-del-log.sh </dev/null" >> /var/spool/cron/root

16、让所有⽤户的PATH“环境变量”的值多出⼀个路径,/usr/local/apache/bin,并让其⽣效?

[root@linux1 tmp]# echo 'export PATH=/usr/local/apache/bin:$PATH' >>/etc/profile.d/env.sh
[root@linux1 tmp]# . /etc/profile.d/env.sh

17、简述Raid0,1,5、6,10,01的区别?

https://blog.51cto.com/14012942/2428562

https://blog.51cto.com/14012942/2428580

18、在卷组VG0中的⼀个逻辑卷lv0,ext4⽂件系统。现发现lv0空间不⾜,从磁盘中先划分出100G 的/dev/sdd再为lv0扩容100G,写出相关的操作命令?(⾄少3步)

#分区的话注意分区必须是逻辑卷类型
#sdd加入pv
pvcreate /dev/sdd
#sdd加入VG0
vgextend VG0 /dev/sdd
#拓展lv0
lvextend -L +100G -r /dev/vG0/lv0

参考:https://blog.51cto.com/14012942/2430295

19、简介tcp/ip协议的分层结构、作⽤和常见的协议。

TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层

每一层的作用:

每一层常见的协议:

https://blog.51cto.com/14012942/2430564

20、显⽰/etc/inittab中以#开头,且后⾯跟着⼀个或多个空⽩字符,⽽后⼜跟了任意⾮空⽩字符的⾏? (⽅法很多,只要能实现就成

grep -E '^#[[:space:]]+[^[:space:]]+' /etc/inittab

⼆、扩展题

1、创建⼀键安装和卸载httpd-2.4.25.tar.gz 的脚本install_httpd.sh,要求安装⾄/app/httpd24 ⽬录下,运⾏ httpd.sh install 实现安装,运⾏ httpd.sh remove 实现卸载.

参考:https://blog.51cto.com/14012942/2427694

2、路由转发实验,要求主机A能ping通主机B,请写出每台虚拟机:主机A,路由器R1,路由器R2,路 由器R3和主机B需要完成的配置

参考:https://blog.51cto.com/14012942/2430490