zoukankan      html  css  js  c++  java
  • 第二阶段考试

    一、选择题

    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 -anp

    C、watch

    D、lsof

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

    A、/etc

    B、/var

    C、/root

    D、/home

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

    A、cat file1 | tail -n | head -n 200

    B、cat file 1 | 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、使用命令的输出

    二、填空题

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

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

    3、链接分别为(硬链接)和(软链接

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

    5、DNS实际上是分布在Internet上的主机信息的数据库,其作用是(FQDN)和(IP地址)之间的转换

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

    7、DHCP是动态主机配置协议的简称,其作用是:(服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码)

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

    9、docker和虚拟机的区别在于虚拟机有(完整的操作系统

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

    三、操作题

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

    答:

    Raid0:条带卷,将数据分为固定大小的数据块,分别同时写入到N个磁盘中,即每个磁盘只需读写1/N的数据,提高了读写效率。但是数据没有冗余,一旦有块磁盘故障,整份数据都将不可用,安全性没有保障

    Raid1:镜像卷,将数据写入到N个磁盘中,即每个磁盘都有一份完整的数据。相当于写了N份数据,写磁盘效率很低,读磁盘可从N个磁盘中同时读取,读磁盘效率提升,当一个磁盘损坏,还有其他的磁盘作为备份,数据安全性得到保障

    Raid5:至少需要3块磁盘,将数据分为固定大小的数据块,分别写到N-1块磁盘中,剩余的一块用于生成校验信息,当有一块磁盘故障时,可以通过校验信息还原数据,由于校验信息的压力比较大,故所有磁盘轮流循环作为校验盘。这样即保障了读写效率也保障安全性

    Raid10:先将磁盘组合为多组raid1,用于生成数据冗余,再将这多组raid1组合为raid0,用于提高读写效率,所以Raid10至少要4块磁盘。以4块磁盘为例:数据会被分为n份,分别写入到2组raid0中,然后每份数据又被写2次,写入到raid1的2块磁盘中。这样每份数据都有冗余

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

    #!/bin/bash
    set -ue
    RED='e[1;31m'
    GREEN='e[1;32m'
    END='e[0m'
    
    
    rpm -q httpd &> /dev/null && echo -e "${RED}httpd已经部署,无需安装${END}"
    
    #yum安装依赖程序
    yum install -y apr apr-devel apr-util-devel pcre-devel gcc make openssl-devel lbzip2 redhat-rpm-config
    
    #下载并解压源码包
    wget -P /usr/local/src https://mirrors.aliyun.com/apache/httpd/httpd-2.4.46.tar.bz2 && cd /usr/local/src || echo -e "${RED}下载httpd源码包失败,请检查网络${END}"
    tar xf httpd-2.4.46.tar.bz2 && cd httpd-2.4.46
    ./configure --prefix=/apps/httpd --sysconfdir=/etc/httpd --enable-ssl && make && make install
    echo -e "${GREEN}httpd安装成功${END}"
    
    #创建apache用户
    useradd -r -s /sbin/nologin -d /var/www apache
    sed -ri.bak 's/^User.*/User apache/' /etc/httpd/httpd.conf
    sed -ri.bak 's/^Group.*/Group apache/' /etc/httpd/httpd.conf
    #配置环境 echo
    'PATH=/apps/httpd/bin:$PATH' > /etc/profile.d/httpd.sh echo -e "${GREEN}请重新读取配置文件/etc/profile.d/httpd.sh,之后可执行 apachectl start 或 httpd -k start 命令启动httpd服务${END}"

    3、通过dockerfile实现nginx的部署

    答:

    准备相关文件

    [root@ubuntu1804 dockerfile]#ls
    Dockerfile  index.html  nginx-1.16.1.tar.gz  nginx.conf
    [root@ubuntu1804 dockerfile]#cat nginx.conf 
    
    user  nginx;
    worker_processes  1;
    ...

    编写Dockerfile文件

    [root@ubuntu1804 dockerfile]#vim Dockerfile 
    
    FROM    centos
    LABEL   maintainer="jojohyj"
    RUN     yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel 
    &&      useradd -r -s /sbin/nologin nginx 
    &&      yum clean all
    ADD     nginx-1.16.1.tar.gz /usr/local/src
    RUN     cd /usr/local/src/nginx-1.16.1 
    &&      ./configure --prefix=/apps/nginx 
    &&      make && make install 
    &&      rm -rf /usr/local/src/nginx* 
    &&      ln -s /apps/nginx/sbin/nginx /usr/sbin/nginx
    #COPY   nginx.conf /apps/nginx/conf/
    COPY    index.html /apps/nginx/html/
    EXPOSE  80 443
    CMD     ["nginx","-g","daemon off;"]

    生成nginx镜像

    [root@ubuntu1804 dockerfile]#docker build --force-rm -t nginx:centos .
    
    [root@ubuntu1804 dockerfile]#docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    nginx               centos              0f8801ce8afd        7 minutes ago       395MB
    centos              latest              0d120b6ccaa8        2 days ago          215MB

    生成容器测试

    [root@ubuntu1804 dockerfile]#docker run -d -p 80:80 nginx:centos 
    eeddc9c6faf40812a12060534c3e452b92369d0d98185e3cdfd84f3fcdbc0bc9
    [root@ubuntu1804 dockerfile]#docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
    eeddc9c6faf4        nginx:centos        "nginx -g 'daemon of…"   4 seconds ago       Up 3 seconds        0.0.0.0:80->80/tcp, 443/tcp   affectionate_leakey
    [root@ubuntu1804 dockerfile]#curl 127.0.0.1
    nginx base on centos

    4、简述TCP三次握手过程

    答:

    第 1 次握手:客户端向服务器发送 SYN 报文(SEQ=x,SYN=1),并进入 SYN_SENT 状态,等待服务器确认

    第 2 次握手实际上是分两部分来完成的,即 SYN+ACK(请求和确认)报文。

    • 服务器收到了客户端的请求,向客户端回复一个确认信息(ACK=x+1)。
    • 服务器再向客户端发送一个 SYN 包(SEQ=y)建立连接的请求,此时服务器进入 SYN_RECV 状态

    第 3 次握手:客户端收到服务器的回复(SYN+ACK 报文)。此时,客户端也要向服务器发送确认包(ACK)。此包发送完毕客户端和服务器进入 ESTABLISHED 状态,完成 3 次握手

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

    答;

    进入容器,删除原有localtime文件,建立正确时区文件的软链接为新的localtime文件

    [root@ubuntu1804 dockerfile]#docker exec -it ee bash
    [root@eeddc9c6faf4 /]# date
    Thu Aug 13 05:53:50 UTC 2020
    [root@eeddc9c6faf4 /]# rm -f /etc/localtime 
    [root@eeddc9c6faf4 /]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    [root@eeddc9c6faf4 /]# date
    Thu Aug 13 13:54:39 CST 2020
    [root@eeddc9c6faf4 /]# 
  • 相关阅读:
    leetcode--Populating Next Right Pointers in Each Node II
    leetcode—Populating Next Right Pointers in Each Node
    Pascal's Triangle II
    leetcode—pascal triangle
    leetcode—triangle
    October 23rd, 2017 Week 43rd Monday
    October 22nd, 2017 Week 43rd Sunday
    October 21st 2017 Week 42nd Saturday
    October 20th 2017 Week 42nd Friday
    October 19th 2017 Week 42nd Thursday
  • 原文地址:https://www.cnblogs.com/jojohyj/p/13496052.html
Copyright © 2011-2022 走看看