马哥博客第二阶段考试
第二阶段考试
一 、判断题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地址)和(FQDN)之间的转换。
6、当LAN 内没有条件建立DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置 (/etc/hosts) 文件。
7、DHCP 是动态主机配置协议的简称,其作用是:(动态分配指定的IP地址范围及网关和DNS等信息) 。
8、唯一标识每一个用户的是 (uid) 和 (用户名) 。
9、docker和虚拟机的区别在于虚拟机有(内核)。
10、docker采用了一种(overlay2)挂载的方式实现了可写层
三、操作题一共5道、一题8分。
1、简述Raid0、Raid1、Raid5、Raid10的区别?
Raid0:条带化存储
把连续的数据分散到多个磁盘存取,系统有数据请求就可以被多个磁盘并行的执行
磁盘空间=磁盘总量
需要磁盘>=2
读写性能=磁盘个数*I/O速度
RAID1:镜像存储
将一组两块硬盘做成RAID1,其容量仅等于一块硬盘的容量,其中一块只是当作数据镜像,对另一块硬盘的备份
磁盘空间=磁盘总量/2
需要磁盘数>=2*n
读性能=I/O性能*n
写性能不变
RAID5:奇偶校验
数据以块分段条带化存储。校验信息交叉的存储在所有的数据盘上。奇偶校验信息和相对应的数据分别存储与不同的磁盘上
磁盘空间=n-1
需要的磁盘数>=3
读写性能约等于磁盘个数*I/O速度
RAID10:RAID0和RAID1的组合形式
先做RAID1再将RAID1组合成RAID0,拥有两种RAID的特性,安全性更高
磁盘空间=n/2
4<=需要磁盘数量>=2*n
2、通过shell脚本部署一个httpd服务
wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.bz2 &> /dev/null && echo "下载完成" || echo "下载失败"
cd /usr/local/
tar xvf httpd-2.4.43.tar.bz2 &> /dev/null && echo "解压完成" || echo "解压失败"
yum -y install apr-devel-1.6.3-9.el8.x86_64 &> /dev/null && echo "apr-devel安装完成" || echo "apr-devel安装失败"
yum install -y openssl.x86_64 &> /dev/null && echo "openssl安装完成" || echo "openssl解压失败"
yum -y install openssl-devel.x86_64 &> /dev/null && echo "openssl-devel安装完成" || echo "openssl-devel安装失败"
yum -y install openssl-libs.x86_64 &> /dev/null && echo "openssl-libs安装完成" || echo "openssl-libs安装失败"
./configure --prefix=/usr/local/httpd2.4 --enable-ssl &> /dev/null && echo "完成" || echo "失败"
yum -y install make &> /dev/null && echo "make安装完成" || echo "make安装失败"
yum provides /usr/lib/rpm/redhat/redhat-hardened-ld &> /dev/null && echo "redhat-hardened-ld安装完成" || echo "redhat-hardened-ld安装失败"
yum provides /usr/lib64/apr-1/build/libtool &> /dev/null && echo "apr-1/build/libtool安装完成" || echo "apr-1/build/libtool安装失败"
yum -y install redhat-rpm-config-120-1.el8.noarch &> /dev/null && echo "redhat-rpm-config-120-1.el8.noarch安装完成" echo "redhat-rpm-config-120-1.el8.noarch安装失败"
make &> /dev/null && echo "make完成" || echo "make失败"
make install &> /dev/null && echo "install完成" || echo "install失败"
3、通过dockerfile实现nginx的部署
ADD nginx-1.16.1.tar.gz /usr/local/src
RUN rm -f /etc/localtime \
&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& yum -y install wget && rm -f /etc/yum.repos.d/* \
&& wget -P /etc/yum.repos.d/ \
http://mirrors.aliyun.com/repo/Centos-7.repo \
&& wget -P /etc/yum.repos.d/ \
http://mirrors.aliyun.com/repo/epel-7.repo \
&& yum -y install vim-enhanced tcpdump lrzsz tree telnet bash-completion \
net-tools bzip2 lsof zip unzip nfs-utils gcc gcc-c++ glibc glibc-devel pcre \
openssl openssl-devel systemd-devde zlib-devel \
&& yum clean all \
&& rm -rf /var/cache/yum/* \
&& cd /usr/local/src/nginx-1.16.1 \
&& ./configure --prefix=/apps/nginx \
&& make && make install \
&& rm -rf /usr/local/src/nginx* \
&& useradd -r nginx
COPY nginx.conf /apps/nginx/conf/
ADD app.tar.gz /apps/nginx/html/
EXPOSE 80 443
CMD ["/apps/nginx/sbin/nginx"]
4、简述TCP三次握手的过程?
1.客户端向服务器发出连接请求报文,报文中首部中的SYN位置1,同时选择一个随机初始序列号seq=x,此时TCP客户端进入SYN-SENT状态
2.TCP服务器收到请求报文后,如果同意连接则发出确认报文。确认报文应该将ACK、SYN位置1,确认号是ack=x+1,
同时也要位自己初始化一个随机序列号seq=y,此时TCP服务器进入SYN-RCVD状态
3.TCP客户端收到确认后,要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的序列号seq=x+1,此时,TCP连接建立,
客户端进入ESTABLISHED状态,服务器收到客户端确认后也进入ESTABLISHED状态,此后双方可以进行通信
5、docker容器时间跟本地时间不一致怎样解决
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

浙公网安备 33010602011771号