• 第二次考试


    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–,该权限用数值形式表示为(622),修改文件权限用(chmod)命
    令。
    2、在Linux 系统 中,以(文件)方式访问设备 。
    3、链接分为:(软连接) 和 (硬链接)。
    4、(DHCP)可以实现动态 IP 地址分配。
    5、DNS 实际上是分布在internet 上的主机信息的 数据库 ,其作用是(域名)和(IP)之间的转换。
    6、当LAN 内没有条件建立DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配
    置 (/etc/host) 文件。
    7、DHCP 是动态主机配置协议的简称,其作用是:(用于内部网络和网络供应商给用户自动提供ip地址) 。
    8、 唯一标识每一个用户的是 (uid) 和 (用户名) 。
    9、docker和虚拟机的区别在于虚拟机有(内核)。
    10、docker采用了一种(容器目录和宿主机磁盘目录对应的方式)挂载的方式实现了可写层
    三、操作题一共5道、一题8分。
    1、简述Raid0、Raid1、Raid5、Raid10的区别?

    RAID 0:最少需要两块磁盘;数bai据条带式分布;没du有冗余,性能最佳(不存储镜像、校验信息);不能应用于对数据安全性要求高的场合。

    RAID 1:最少需要两块磁盘;提供数据块冗余;性能好。

    RAID 5:最少需要三块磁盘;数据条带形式分布;以奇偶校验作冗余;适合多读少写的情景,是性能与数据冗余最佳的折中方案。

    RAID 10(又叫RAID 1+0):最少需要四块磁盘;先按RAID 0分成两组,再分别对两组按RAID 1方式镜像;兼顾冗余(提供镜像存储)和性能(数据条带形分布)。

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

    #!/bin/bash
    rm -rf /usr/local/src/*
    dnf remove -y gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config
    systemctl disabled --now firewalld.service
    sed -i.bak 's/^SELINUX=.*/SELINUX=disabled/'/etc/selinux/config
    setenforce 0
    dnf install -y gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config
    wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.bz2
    tar xvf httpd-2.4.43.tar.bz2 -C /usr/local/src
    cd /usr/local/src/httpd-2.4.43/
    ./configure --prefix=/apps/httpd --sysconfdir=/etc/httpd --enable-ssl
    make -j 4 && make install
    echo 'PATH=/apps/httpd/bin:$PATH' > /etc/profile.d/httpd.sh
    . /etc/profile.d/httpd.sh
    sed -i.bak 's/^User.*/User apache/;s/^Group.*/Group apache/;/^Server.*/a ServerName localhost:80'  /etc/httpd/httpd.conf
    userdel apache
    useradd -r -s /sbin/nologin -d /var/www/ -c Apache -u 48 apache
    apachectl start
    3、通过dockerfile实现nginx的部署

    #设置继承基础镜像

    ’FROM centos ‘

    #创建者的基本信息 ’

    MAINTAINER bovin@dingtalk.com

    #解决依赖关系

    RUN yum install -y  make gcc openssl-devel pcre-devel zlib-devel

    #添加nginx用户

    RUN  groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx

    #添加nginx安装包,并默认解压

    ADD nginx-1.6.2.tar.gz /usr/local/src/

    #添加启动nginx服务脚本

    ADD run.sh /run.sh #定义工作目录 WORKDIR /usr/local/src/nginx-1.6.2/

    ’#执行命令进行安装

    RUN  ./configure            

      --prefix=/usr/local/nginx              

        --sbin-path=/usr/sbin/nginx               

          --conf-path=/etc/nginx/nginx.conf                

            --error-log-path=/var/log/nginx/error.log                  

            --http-log-path=/var/log/nginx/access.log                               

            --pid-path=/var/run/nginx/nginx.pid                        

              --lock-path=/var/lock/nginx.lock                          

              --user=nginx                            

                --group=nginx                              

                  --with-http_ssl_module                                

                    --with-http_flv_module && make && make install  #定义输出命令 CMD ["/run.sh"] #定义输出端口 EXPOSE 80

     

        设置脚本权限: 

        chmod +x run.sh

        脚本功能主要作为设置进程模式,启动nginx服务。查看脚本内容如下:

    #!/bin/bash

    sed -i '/daemon off/d' /etc/nginx/nginx.conf

    #设置nginx非daemon守护进程

    echo "daemon off;" >> /etc/nginx/nginx.conf

    #杀掉nginx服务

    killall nginx

    #启动nginx服务

    /usr/sbin/nginx -c /etc/nginx/nginx.conf

     执行build构建我们的nginx镜像:

    [root@centos7 nginx]# docker build -t nginx.state . Sending build context to Docker daemon    809kB Step 1/10 : FROM centos  ---> 5182e96772bf Step 2/10 : MAINTAINER bovin@dingtalk.com  ---> Running in 027b9d3def9c  ---> 7c31e176f688 Removing intermediate container 027b9d3def9c Step 3/10 : RUN yum install -y  make gcc openssl-devel pcre-devel zlib-devel  ---> Running in 1c83d9b31aed Loaded plugins: fastestmirror, ovl

        查看我们刚刚构建的nginx镜像:

    DingTalk20180821160857.png

        使用刚才构建nginx镜像,创建容器:

    [root@centos7 nginx]# docker run -d -p 80:80 nginx.state 744ce4da6839177e057e34f47871f3763bcd7d9bc6488647e5ea93826cc1ed05 [root@centos7 nginx]# docker ps  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                NAMES 744ce4da6839        nginx.state         "/run.sh"           6 seconds ago       Up 5 seconds        0.0.0.0:80->80/tcp   dazzling_turing


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

    第一次握手:客户端发送SYN,seq为随机值,ctl=SYN ,SYN为同步序列号

      客户端发送网络包,服务端收到了,服务端得出结论,客户端有发送的能力,服务端能力是正常的。

    第二次握手:服务端收到SYN之后向客户端发送SYN和ACK,seq随机产生,ctl为=SYN,ack=seq+1

      服务端发包给客户端,客户端接收到,客户端的出结论,服务端的接收和发送能力是正常的,不过此时服务端不能判断出客户端的接收能力是不是正常。

    第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态。

      客户端发包,服务端接收到,这样服务端能够得出结论,客户端的接收和发送能力正常,服务器自己的发送能力也正常。


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

    #删除默认的·链接上的UTC的时间

    rm -f /etc/localtime

    #改为上海的时间
    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

    date 

  • 相关阅读:
    波涛 - 系统交易方法(2013年2月28日)
    【美】柯蒂斯·费思 - 海龟交易法则(2012年12月25日)
    【美】迈克尔·卡沃尔 - 趋势跟踪(2012年12月3日)
    DAX/PowerBI系列
    DAX基础入门
    (玩起来)DAX/PowerBI系列
    DAX/PowerBI系列
    DAX/PowerBI系列
    DAX/PowerBI系列
    MDX 用Ancestors得到Hierarchy中指定Level的值(附带SCOPE用法之一)
  • 原文地址:https://www.cnblogs.com/xuziran88/p/13494441.html
Copyright © 2020-2023  润新知