一 、判断题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下查看服务程序占用的端口命令是什么?( D )
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 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配
置 ( /etc/hosts ) 文件。
7、DHCP 是动态主机配置协议的简称,其作用是:( 动态分配ip地址 ) 。
8、 唯一标识每一个用户的是 (uid ) 和 (用户名 ) 。
9、docker和虚拟机的区别在于虚拟机有( kernel )。
10、docker采用了一种(-v )挂载的方式实现了可写层
三、操作题一共5道、一题8分。
1、简述Raid0、Raid1、Raid5、Raid10的区别?
Raid0
需要1块或一块以上的磁盘,读写快,没有冗余,其中一块磁盘坏,数据丢失,不安全
Raid1
至少要有两个硬盘才能组成,因此也称为镜像(Mirroring)方式。所谓镜像就是每两个硬盘的内容一模一样,但是对操作系统而言只呈现一个硬盘,以便于管理。由此可见,RAID 1对数据进行了完全的备份,其可靠性是最高的。当然,其数据的写入时间可能会稍长一点,但因为两个镜象硬盘可以同时读取数据,故读数据与RAID 0一样。
磁盘阵列的总容量为其中N/2块硬盘的容量在RAID 级别中,RAID 1通过数据镜像提供了最高的信息可用性。镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID 1的数据安全性在所有的RAID级别上来说是最好的。
Raid5
它采用一个固定的硬盘来存储奇偶校验值,所有数据和校验值都分布在所有硬盘上。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错性能好多了。最少需要3块盘.利用率为(n-1)n.
Raid10
至少必须拥有四个以上的偶数硬盘才能使用,利用率50%.
2、通过shell脚本部署一个httpd服务。
#!/bin/bash
colour="echo -e \033[1;32m"
end="\033[0m"
cpu=`lscpu|sed -n '/^CPU(s)/p'|tr -s " "|cut -d " " -f2`
$colour 安装httpd $end
yum install apr-devel apr-util-devel pcre-devel openssl-devel -y &> fail-1.log
if [[ $? =~ 0 ]];then
$colour 相关组件安装完成 $end
cd /usr/local/src/
$colour 开始下载安装文件 $end
wget https://mirrors.cnnic.cn/apache/httpd/httpd-2.4.46.tar.gz --no-check-certificate &> /dev/null
tar -xf httpd-2.4.46.tar.gz
cd httpd-2.4.46/
./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd --enable-ssl &> fail-2.log
if [[ $? =~ 0 ]];then
$colour ./configure 完成 $end
make -j $cpu &>fail-3.log
if [[ $? =~ 0 ]];then
$colour make 完成 $end
make install &> fail-4.log
if [[ $? =~ 0 ]];then
$colour make install 完成 $end
echo "PATH=$PATH:/usr/local/httpd/bin" > /etc/profile.d/httpd.sh
source /etc/profile.d/httpd.sh
useradd -r -s /sbin/nologin -d /usr/local/httpd apache
cd /etc/httpd/
cp httpd.conf httpd.conf.bak
sed -i "s#daemon#apache#g" /etc/httpd/httpd.conf
echo "安装完成"
else
$colour make install 完成 $end
fi
else
$colour make 失败,请检查 $end
fi
else
$colour ./configure 失败 $end
fi
else
$colour 组件安装失败,请检查 $end
fi
3、通过dockerfile实现nginx的部署
FROM centos7.8.2003:v2.0
LABEL maintainer="lz 254127092@qq.com"
COPY CentOS-Base.repo /etc/yum.repos.d/
ADD nginx-1.18.0.tar.gz /usr/local/src/
RUN yum install -y gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel && \
cd /usr/local/src/nginx-1.18.0 && ./configure --prefix=/apps/nginx && make && make install && \
ln -s /apps/nginx/sbin/nginx /usr/sbin/nginx && mkdir /apps/nginx/conf.d/
COPY nginx.conf /apps/nginx/conf/
ENV DOC_ROOT='/data/html/'
ADD index.html ${DOC_ROOT}
VOLUME ["/data/html/","/apps/nginx/"]
EXPOSE 80 443
CMD ["/usr/sbin/nginx","-g","daemon off;"]
4、简述TCP三次握手的过程?
Client发送SYN,Server接受连接后回复SYN,ACK,并为这次连接分配资源。Client端接收到ACK报文后也向Server端发ACK报文,并分配资源,这样TCP连接就建立了
5、docker容器时间跟本地时间不一致怎样解决
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime