1、描述centos6系统开机启动流程

(1)POST开机自检

(2)进入MBR引导

(3)进入GRUB加载LINUX内核

(4)启动INIT进程

2、描述/etc/rc.d/sysinit脚本功能

(1)获取网络环境与主机类型。首先会读取网络环境设置文件"/etc/sysconfig/network",获取主机名称与默认网关等网络环境。  

(2)答应文本欢迎信息。  

(3)挂载/etc/fstab文件中定义的其它文件系统。  

(4)激活swap  

(5)检测根文件系统,并以读写方式重新挂载  

(6)决定是否启动SELinux和udev。  

(7)接口设备的检测与即插即用(pnp)参数的测试。  

(8)用户自定义模块的加载。用户可以再"/etc/sysconfig/modules/*.modules"加入自定义的模块,此时会加载到系统中。  

(9)加载核心的相关设置。按"/etc/sysctl.conf"这个文件的设置值配置功能。  

(10)设置系统时间(clock)。  

(11)设置终端的控制台的字形。  

(12)设置raid及LVM等硬盘功能。  

(13)以方式查看检验磁盘文件系统。  

(14)进行磁盘配额quota的转换。  

(15)重新以读取模式载入系统磁盘。  

(16)启动quota功能。  

(17)启动系统随机数设备(产生随机数功能)。  

(18)清楚启动过程中的临时文件。  

(19)将启动信息加载到"/var/log/dmesg"文件中。 

3、总结文本处理工具sed及awk的用法

这个现在还是理解不了,不会,后续再多看看书。

4、写一个脚本,生成10个随机数,并按从小到大进行排序

#!/bin/bash            

            ##生成随机数

            int=0

            while(($int<10))

            do

                    arr[$int]=$RANDOM

                    let "int++"

            done

             

            ##冒泡排序法

            #for (( i=0 ; i<${#arr[@]} ; i++ ))

            #do

            #  for (( j=${#arr[@]} - 1 ; j>i ; j-- ))

            #  do

            #    #echo $j

            #    if  [[ ${arr[j]} -lt ${arr[j-1]} ]]

            #    then

            #       t=${arr[j]}

            #       arr[j]=${arr[j-1]}

            #       arr[j-1]=$t

            #    fi

            #  done

            #done

             

            ##快速排序算法

            temp=  

            buff=    

            #交换函数  

            swap()  

            {  

                buff=${arr[$1]}  

                arr[$1]=${arr[$2]}  

                arr[$2]=$buff  

            }  

               

            fun()  

            {  

                i=$(($1-1))  

                j=$1  

                temp=${arr[$2]}  

                if test $1 -ge $2 ;then  

                    return 2   

                fi  

                    while [ $j -le $2 ];do  

                        [ $j -lt $2 ] && while [[ ${arr[$j]} -gt $temp ]] ;do   

                         j=$(($j+1))  

                        done  

                        i=$(($i+1))  

                        swap $i $j    

                        j=$(($j+1))  

                    done  

            }  

             

            ##打印输出排序结果

             

            echo ${arr[*]}

5、在每周二的凌晨1点5分执行脚本/data/get_username.sh,并将脚本的输出至/tmp/get_username.log日志文件中

[root@a ~]# crontab -e 

        5 1 * * 2 /data/get_username.sh >> /tmp/get_username.log

        [root@a ~]# crontab -l

        5 1 * * 2 /data/get_username.sh >> /tmp/get_username.log

6、写一个脚本:如果某路径不存在,则将其创建为目录;否则显示其存在,并显示内容类型

#!/bin/bash        

        path="/j"

         

        if [ ! -d "${path}" ];then

        mkdir "${path}"

        fi

         

        if [ -d "$path" ];then

        ls $path

        fi

7、写一个脚本,打印9X9乘法表

#!/bin/bash

        for((i=1;${i}<=9;i++))

        do

         

         

            for((j=1;${j}<=${i};j++))

            do

                echo -e "${i}X${j}=$((i*j))\t\c"

            done

            echo -e "\n"

        done

8、描述dns的工作流程,以及完整搭建一套dns主从服务器,相关域名和ip可自行设定

这道题现在也不会,后续再补。