N46030-段鹏-第二次月考

第二阶段考试

一 、判断题10道、一题3分。

1、DNS默认端口号是多少?( D

A、443 B、80 C、25 D、53

2、docker中以下那个命令不正确 ?(B

A、docker run B、docker file C、docker exec D、docker images

3、在shell脚本中以下那个选项不是关键字 (C

A、if B、for C、watch D、while

4、打印/etc/passwd的奇数行? (A

A、sed -n '1~2p' /etc/passwd B、sed -c '1~2p' /etc/passwd C、sed -n '1~3p' /etc/passwd

5、Linux下查看服务程序占用的端口命令是什么?(B

A ps -aux B netstat –apn C watch D lsof

6、 在linux系统中,用来存放系统所需要的配置文件和子目录是(A

A /etc B /var C /root D /home

7、(多选)下面哪些命令可以查看file1文件的第300-500行的内容?(BC

A cat file1 | tail -n +300 | head -n 200 B cat file1| head -n 500 | tail -n +300 C sed -n ‘300,500p’ file1

8、Linux下查看磁盘使用情况的命令是?(B

A dd B df C top D netstat

9、linux查看系统活跃进程的命令是?(A

A ps B netstat C df D ifconfig

10、在shell 中变量的赋值有四种方法,其中,采用name=12 的方法称 (A

A 直接赋值 B 使用read 命令 C 使用命令行参数 D 使用命令的输出

二、填空题10道、一题3分。

1、在linux中,某文件的权限为:drw-r–r–,该权限用数值形式表示为(644),修改文件权限用(chmod)命 令。

2、在Linux 系统 中,以()方式访问设备 。

3、链接分为:(硬链接) 和 (软链接)。

4、(DHCP)可以实现动态 IP 地址分配。

5、DNS 实际上是分布在internet 上的主机信息的 数据库 ,其作用是(IP)和(域名)之间的转换。

6、当LAN 内没有条件建立DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配 置 (hosts) 文件。

7、DHCP 是动态主机配置协议的简称,其作用是:(动态分配IP地址) 。

8、 唯一标识每一个用户的是 (UID) 和 (GID) 。

9、docker和虚拟机的区别在于虚拟机有(内核)。

10、docker采用了一种(Overlay2)挂载的方式实现了可写层

三、操作题一共5道、一题8分。

1、简述Raid0、Raid1、Raid5、Raid10的区别?

RAID0读写性能好,没有数据冗余,可用空间为全部硬盘空间,需要数据盘2N;RAID1 读性能好,写性能有所下降,可用空间为一半硬盘空间,需要数据盘2N;RAID5读写性能好,有容错能力可允许1块磁盘损坏,可用空间为硬盘数-1,最少硬盘3块以上;RAID10读写性能好,可用空间为一半硬盘空间,有容错能力,每组最多能坏一块,最少硬盘书4块以上。

2、通过shell脚本部署一个httpd服务。

#!/bin/bash
#http source code install 
#download source package
TARGET_DIR=/usr/local/src
INSTALL_DIR=/apps/httpd
CONFDIR=/etc/httpd
CPUS=$(lscpu |grep "CPU(s):"|awk '{print $NF}')

wget -O $TARGET_DIR https://mirrors.bit.edu.cn/apache/httpd/http-2.4.43.tar.bz2

#install yilai_package
yum install -y gcc make apr-devel apr-util-devel pcre-devel mod_ssl openssl-devel redhat-rpm-config

#useradd apache
id apache &> /dev/null || useradd -r -u 88 -d /var/www -s /sbin/nologin apache

#tar package
tar xf $TARGET_DIR/http-2.4.43.tar.bz2 -C $TARGET_DIR
cd $TARGET_DIR/http-2.4.43

#source install
./configure --prefix=$INSTALL_DIR --sysconfdir=$CONFDIR --enable-ssl
make -j $CPUS && make install

#env
echo 'PATH=/apps/httpd/bin:$PATH' > /etc/profile.d/httpd.sh
source /etc/profile.d/httpd.sh

#修改配置文件
sed -i.bak '/^User/s/daemon/apache/g' /etc/httpd/httpd.conf
sed -i '/^Group/s/daemon/apache/g' /etc/httpd/httpd.conf

#启动服务
apachectl start

3、通过dockerfile实现nginx的部署

1、编写Dockerfile文件
vim /data/nginx/Dockerfile
FROM centos
LABEL maintainer="duan.peng"
RUN yum install -y nginx && echo Nginx website in Docker > /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx","-g","daemon off;"]
2、以Dockerfile文件制作镜像
docker build -t nginx_centos8.2:v1 /data/nginx/
3、以制作好的镜像启动容器
docker run -d -P --name nginx-web2 nginx_centos8.2:v1
4、查看容器状态
[root@docker01 ~]# docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS    
               NAMES2aaa80547ee9        nginx_centos8.2:v1   "nginx -g 'daemon of…"   6 minutes ago       Up 6 minutes        0.0.0.0:
32776->80/tcp   nginx-web2
5、访问测试
[root@localhost ~]# curl 172.16.104.2:32776
Nginx website in Docker

4、简述TCP三次握手的过程

第一次握手:client将标志位SYN=1,随机产生一个值seq=x,将该数据包发送给server,client进入SYN-SENT状态等待server确认。

第二次握手:server端收到数据包由标志位SYN=1,知道client请求建立连接,server设置数据包标志位SYN=1,ACK=1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给client确认连接请求,server进入SYN-RCVD状态。

第三次握手:client收到确认后,检查ack是否为x+1,ACK是否为1,如果正确将标志位ACK=1,ack=y+1,随机产生一个值seq=x+1,并将数据包发送给server,server检查ack是

否为y+1,ACK是否为1,如果正确则建立成功,client和server进入ESTAB-LISHED状态,完成三次握手,随后client和server之间可开始数据传输。

5、docker容器时间跟本地时间不一致怎样解决

1、拷贝宿主机上的时区文件到容器中

docker copy /usr/share/zoneinfo/Asia/Shanghai 容器:/usr/share/zoneinfo/Asia/

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2、在宿主机上搭建NTP服务,使用chrony服务同步宿主机NTP

posted @ 2020-08-10 14:08  duanpeng123  阅读(40)  评论(0)    收藏  举报