第八周

第一题 shell 实现自动登录机器

#!/usr/bin/expect

set ip 192.168.111.133 

set user root 

set passwd 123456

spawn ssh $user@$ip

expect {

"yes/no" {send "yes\n";exp_continue}

"password" {send "$passwd\n"}

}

interact

第二题 shell判断一个值是否在 数组中

#!/bin/bash

declare -a arrayZ

aarayZ=( "one" "two" "three" "four" "five" )

for i in ` seq  $[${#aarayZ[@]}-1]`;do

        if [ bone == ${aarayZ[$i]} ] ;then

                echo bone 在aarayZ数组中

        else

                echo bone 不在aarayZ数组中
        fi
done

第三题 用命令或者脚本实现0057AF051EFF变为00:57:AF:05:1E:FF

# a=0057AF051EFF
# echo ${a:0:2}:${a:2:2}:${a:4:2}:${a:6:2}:${a:8:2}:${a:10:2}

第四题 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0 ! @ # $ % ^ & * ( ) - _ = + \ / ' " ; : [ ] { } , . ? 结合数组实现一个随机生成20位密码的脚本

 declare -a a 
a=( a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0 \! \@ \# \$ \% \^ \& \* \( \) \- \_ \= \+ \\ \/ \' \" \; \: \[ \] \{ \} \, \. \? )
for i in `seq 0 19`;do

        let num=$[$RANDOM%${#a[@]}]

        echo -e "${a[$num]:0:20}\c"

done

第五题 详细centos 7 开机流程

POST加电自检 主要是检测各个硬件设备是否能够正常启动POST 加电自检 负责对硬件情况 检查是否正常使用
bootloader 引导加载器  提供一个菜单,让用户自己选择要启动的系统或不同的内核版本,
把用户选择的装载到内存中特定的空间中,解压,展开并把系统控制权交给内核
读取MBR扇区里面前446个字节 引导程序stage1阶段,用于加载stage1.5阶段,通过1.5阶段就能识别stage2文件系统  
 /boot/grub2/grub.conf这个文件定义了内核文件,以及根在哪
kernel 内核初始化  加载第一个程序systemd
执行initrd.target所有单元,挂载/etc/fstab 分区文件系统
从initramfs根文件系统切换到磁盘根目录
systemd执行默认target配置/etc/systemd/system/default.target
systemd执行sysinit.target初始化系统及basic.target准备操作系统
systemd启动multi-user.target下的本机与服务器服务
systemd执行multi-user.target下的/etc/rc.d/rc/local
systemd执行multi-user.target下的getty.target及登录服务
systemd执行graphical需要的服务

出现登录页面

第六题 编写Nginx的systemd配置文件,实现nginx的开机启动

[Unit] #对服务的说明
Description=nginx #描述服务
After=network.target # 服务类别

[Service] #服务的一些具体运行参数的设置
Type=forking #后台运行的形式
PIDFile=/usr/local/nginx/logs/nginx.pid #文件的路径
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #启动命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload #重启命令
ExecStop=/usr/local/nginx/sbin/nginx -s stop #停止命令
PrivateTmp=true # 分配临时空间

[Install]
WantedBy=multi-user.target #用户 模式

systemctl daemon-reload #需要先重载到内存

systemctl enable nginx.service #开机自启

你可能感兴趣的:(第八周)