第二阶段考试
一 、判断题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行的内容?(B)
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) 和 (用户名) 。
9、docker和虚拟机的区别在于虚拟机有(内核)。
10、docker采用了一种(数据卷)挂载的方式实现了可写层
三、操作题一共5道、一题8分。
1、简述Raid0、Raid1、Raid5、Raid10的区别?
raid0最少需要两块硬盘,将数据分开存储,可以将存储性能提升一倍(比较危险)
raid1最少需要两块硬盘,将一样的数据分开两份存放,实现了数据的备份
raid5最好需要三块硬盘,将数据和数据校验位分开在所有硬盘存放(异或算法恢复数据),安全性和效率都相对较高,损坏两块才会造成数据的丢失。
2、通过shell脚本部署一个httpd服务。vim httpd_install.sh
#!/bin/bash
#下载RPM包
download_dir=/usr/local/src
install_dir=/usr/local/httpd
rpm -qa | grep wget || yum install -y wget
wget -O $download_dir/httpd-2.4.43.tar.bz2 https://mirror.bit.edu.cn/apache/httpd/httpd-2.4.43.tar.bz2
#安装依赖包
yum install -y gcc make apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config
#添加apache用户
id apache &> /dev/null || useradd -r -u 80 -d /var/www -s /sbin/nologin apache
#解压源码包
tar xf $target_dir/httpd-2.4.43.tar.bz2 -C $target_dir
cd $target_dir/httpd-2.4.43
#编译安装
./configure --prefix=$install_dir --sysconfdir=/etc/httpd --enable-ssl
make && make install
#设置环境变量
echo ‘PATH=‘$install_dir‘/bin:$PATH‘ > /etc/profile.d/httpd.sh
source /etc/profile.d/httpd.sh
#修改配置文件
sed -ri ‘s#(User )daemon#\1apache#‘ /etc/httpd/httpd.conf
sed -ri ‘s#(Group )daemon#\1apache#‘ /etc/httpd/httpd.conf
#关闭防火墙
systemctl stop firewalld.service
#启动httpd服务
apachectl start
3、通过dockerfile实现nginx的部署
1、制作centos镜像
root@ubuntu:mkdir /data/systemd/centos -p
root@ubuntu:cd /data/systemd/centos
#创建Dockerfile文件
root@ubuntu:/data/systemd/centos#vim Dockerfile
FROM centos:centos7.7.1908 #指明上层镜像
LABEL maintainer="shuaibilong>" #加标记
RUN 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 wget bzip2 lsof zip unzip nfs-utils gcc make gcc-c++ glibc glibcdevel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel \
&& yum clean all \
&& rm -f /etc/localtime \
&& ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime #执行的shell命令
#通过docker bulid 命令生成镜像
root@ubuntu:docker build -t centos7-base:v1 .
2、在centos-base镜像的基础上,构建nginx镜像
root@ubuntu:mkdir /data/web/nginx
root@ubuntu:cd /data/web/nginx
#制作index.html文件
echo alg-giao!!!! > index.html
#创建Dockerfile文件
root@ubuntu:/data/web/nginx#vim Dockerfile
FROM centos7-base:v1
LABEL maintainer="form shuabilong"
ADD http://nginx.org/download/nginx-1.16.1.tar.gz /usr/local/src
RUN cd /usr/local/src && tar -xvf nginx-1.16.1.tar.gz \
&& cd /usr/local/src/nginx-1.16.1 \
&& ./configure --prefix=/usr/local/nginx && make && make install \
&& rm -rf /usr/local/src/nginx* \
&& useradd -r nginx && ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
COPY index.html /usr/local/nginx/html/
EXPOSE 80 443
CMD [ "nginx","-g","daemon off;" ]
4、简述TCP三次握手的过程?
1、主机A向主机B发送请求,syn标记位为1、seq序列号为a
2、主机B收到请求,返回确认信息ack标记位为1,返回序列号ack=a+1;同时向A发送请求syn标记为为1 ,请求序列号seq=y
3、主机A收到确认信息,并对B的请求进行确认,ack标记位为1,序列号ack=y+1
5、docker容器时间跟本地时间不一致怎样解决
自己构建的容器可以在dockerfile文件中通过RUN参数运行一条shell命令来修改时区
容器中也可以使用
rm-f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
原文:https://www.cnblogs.com/shusheng1116/p/13461272.html