第一阶段测试题
官方参考答案: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(可以使客户端,也可以是服务器端),设置
Sequence Number
和Acknowledgment Number
,向主机2发送一个FIN
报文段;此时,主机1进入FIN_WAIT_1
状态;这表示主机1没有数据要发送给主机2了; - 第二次分手:主机2收到了主机1发送的
FIN
报文段,向主机1回一个ACK
报文段,Acknowledgment Number
为Sequence Number
加1;主机1进入FIN_WAIT_2
状态;主机2告诉主机1,我已经知道你没有数据要发送了; - 第三次分手:主机2向主机1发送
FIN
报文段,请求关闭连接,同时主机2进入CLOSE_WAIT
状态; - 第四次分手:主机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