• 博客第16周


    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,,C
    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和虚拟机的区别在于虚拟机有(独立的内核)。
    10、docker采用了一种(容器容器目录对应宿主机磁盘目录 -v)挂载的方式实现了可写层
    三、操作题一共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
    ######
    #Autho: tyzh
    #Date: 2020-06-17
    ######

    ####安装前检查####
    CurrentVersion=`httpd -v|head -1`
    colorGreen="33[32m"
    colorRed="33[31m"
    colorEnd="33[0m"
    ###判断是否有运行的httpd服务#####
    netstat -tnlp|grep httpd
    if [ $? = 1 ];then
    echo "当前版本为:$CurrentVersion"
    read -p "请再次确认,是否要安装httpd2.4.43(yes/no)? $colorend" INPUT
    INPUT=`echo $INPUT|tr 'A-Z' 'a-z'`
    case $INPUT in
    n|no)
    exit 1
    ;;
    y|yes)
    echo "安装httpd2.4.43准备安装......"
    ;;
    *)
    echo 'Input fales,plese input yes or no'
    ;;
    esac
    else
    echo "警告需要先停掉目前服务,再继续安装,apachectl -k stop"
    read -p "请再次确认,是否要安装httpd2.4.43(yes/no)?" INPUT
    INPUT=`echo $INPUT|tr 'A-Z' 'a-z'`
    case $INPUT in
    n|no)
    exit 1
    ;;
    y|yes)
    echo "安装httpd2.4.43准备安装......"
    apachectl -k stop
    ;;
    *)
    echo 'Input fales,plese input yes or no'
    ;;
    esac
    fi
    sleep 5s
    ####安装依赖####
    echo -e "$colorGreen yilai install starting.....$colorEnd"
    yum -y install gcc make autoconf apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config
    if [ $? = 0 ];then
    echo -e "$colorGreen yilai install finished.....$colorEnd"
    else
    echo -e "$colorRed yilai install false,please check your repo source!$colorEnd"
    sleep 10s
    exit 1
    fi
    sleep 5s
    ######添加apache用户,组#####
    group apache
    useradd -r -s /sbin/nologin -d /var/www/html apache
    ####安装httpd2.4.43包####
    echo -e "$colorGreen httpd-2.4.43 starting......$colorEnd"
    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/
    ###配置httpd###
    ./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd --enable-ssl
    ###编译并安装####
    make -j 2 && make install
    echo -e "$colorGreen httpd-2.4.43 finished......$colorEnd"
    ####httpd启动环境配置,启动###
    echo PATH=/usr/local/httpd/bin:$PATH > /etc/profile.d/httpd.sh
    source /etc/profile.d/httpd.sh
    sed -i 's/User daemon/User apache/' /etc/httpd/httpd.conf
    sed -i 's/Group daemon/Group apache/' /etc/httpd/httpd.conf
    ###检查安装文件####
    apachectl -t
    ####启动服务####
    apachectl -k restart
    echo 'httpd 服务已经启动.......'
    echo $CurrentVersion


    3、通过dockerfile实现nginx的部署

    wget  http://nginx.org/download/nginx-1.18.0.tar.gz

    #nginx-dockerfile

    cat dockerfile 

    FROM centos7-base:v1

    LABEL maintainer="tyzh <283399535@qq.com>"

    RUN yum -y install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
    && useradd -r -s /sbin/nologin nginx
    && yum clean all

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

    RUN cd /usr/local/src/nginx-1.18.0
    && mkdir -p /apps/nginx
    && ./configure --prefix=/apps/nginx
    && make
    && make install
    && sed -ri 's@#(user )nobody@1nginx@' /apps/nginx/conf/nginx.conf
    && sed -ri 's@(worker_processes )1@1auto@' /apps/nginx/conf/nginx.conf
    && sed -ri '3a daemon off;' /apps/nginx/conf/nginx.conf
    && echo "nginx is running in docker" > /apps/nginx/html/index.html
    && rm -rf /usr/local/nginx*

    RUN ln -s /apps/nginx/sbin/nginx /usr/sbin/nginx

    EXPOSE 80 443

    CMD /usr/sbin/nginx

    #生成nginx镜像

     docker build -t nginx-centos7:1.18.0-v1 .

    #查看镜像

    doker images

    #生成容器测试镜像

    docker run --name nginx -d -p 80:80 nginx-centos7:1.18.0-v1

    #测试

    curl 172.17.0.2:80

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

    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 
    SYN:同步序列编号(Synchronize Sequence Numbers)
    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 
    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
    5、docker容器时间跟本地时间不一致怎样解决

    docefile 定义

    RUN rm -f /etc/localtime
    && ln -sv /usr/share/zoneinfo/Asia/Shanhai /etc/localtime
    && echo "Asia/Shanghai" >/etc/timezone  

  • 相关阅读:
    20170226-云计算设计模式翻译-自动伸缩指南(逐字翻译)
    20170723-Ioc与AOP
    20170710-几维晨规
    诸城项目-开发日志
    GPS常识-B版(简)
    GPS常识-A版(详)
    20141209-基本概念-BlogEngine.NET(1)-笔记
    9.聚类分析
    7.分类:基本概念 忌讳
    6.挖掘关联规则
  • 原文地址:https://www.cnblogs.com/yazhan/p/13462109.html
Copyright © 2020-2023  润新知