linux基础练习8

1、用shell脚本实现自动登录机器

#!/usr/bin/expect

set ip 192.168.1.137

set user root

set password xxxxxx

spawn ssh $user@$ip

expect {

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

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

}

interact

2、shell 判断一个值bone是否在数组arrayZ=( one two three four five five )中

#!/bin/bash

declare -a arrayZ

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

for i in `seq $[${#arrayZ[*]}-1]`;do

        echo ${arrayZ[$i]}

        if [ ${arrayZ[$i]} == bond ];then

                echo yes

        else

                echo no

        fi

done

unset arrayZ

3、用命令或者脚本实现 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}


 

4、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位密码的脚本

#!/bin/bash

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 i=$[$RANDOM%${#a[*]}]

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

done

5、详细叙述centos7开机流程

1,bios加电post自检

2,读取mbr扇区前446字节的grub引导程序,此步骤称为grub1阶段

3.通过grub1阶段找到/boot/中的vmlinuxz。。。 和initramfs。。加载内核和伪文件系统此为1.5阶段

4.通过vmlinuxz 和initramfs定位加载分区文件系统及根目录,驱动模块,此为grub2阶段

5初始化内核,加载第一个程序systemd

6.运行initrd.target所有单元,挂载/etc/fstab分区文件系统

7从initramfs切换到真正的根目录中

8,执行默认target配置/etc/systemd/system/default.target

9,出现登录界面字符或者图形

6、编写Nginx的systemd配置文件, 实现nginx进程开机启动


 

vim usr/lib/systemd/system/httpd.service  最后一行加入WantedBy=muliti-uselti-user.target

手工可执行ln -s /etc/systemd/system/multi-user.target.wants/httpd.service /usr/lib/systemd/system/httpd.service 

在/etc/systemd/system/目录中创建一个软连接指向usr/systemd/system/httpd.service就可实现开机启动

用命令实现 systemctl enable httpd

猜你喜欢

转载自www.cnblogs.com/woaiyitiaochai/p/11757927.html