第八周作业
1、用shell脚本实现自动登录机器
#!/usr/bin/expect
set usr root
set pw 123456
set ip 192.168.0.100
spawn ssh $usr@$ip
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "$pw\n" }
}
interact
2、shell 判断一个值bone是否在数组arrayz=( one two three four five five )中
#!/bin/bash
arrayz=( one two three four five five bone )
for ((i=0;i<`echo ${arrayz[*]}`;i++));do
if [[`echo ${arrayz[$i]}` =~ ^bone$ ]];then
echo "bone in arrayz"
else
echo "bone not in arrayz"
fi
done
3、用命令或者脚本实现 0057af051eff 变为 00:57:af:05:1e:ff 。
#!/bin/bash
mac=0057af051eff
for i in `seq 0 2 10`;do
if [ $i -eq 10 ];then
echo "${mac:$i:2}"
else
echo -n "${mac:$i:2}:"
fi
done
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 num
num=(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=1;i<=20;i++));do
pw=$[$random%`echo ${#num[*]}`]
echo -n ${num[$pw]}
done
5、详细叙述centos7开机流程
开机启动流程:
1)开机电检bios
2)读取mbr的grub1阶段和1.5阶段
3)读取grub的2阶段/boot/grub 其中/boot/grub/grub.conf记录了vmlinuz的路径以及根在哪
寻找根需要initramfs.img文件来加载文件系统驱动
4)
i)读取根下的systemd (用户的第一个进程)
ii)读取/etc/systemd/system/default.target ,该从什么模式进入系统
iii)读取初始化脚本sysinit.target(初始化主机名,初始化时钟等)
iv)运行multi-user.target下的服务
v)运行/etc/rc.d/rc.local
vi)运行登陆界面文件 ,看到登陆界面
6、编写nginx的systemd配置文件, 实现nginx进程开机启动
cp /usr/local/nginx/bin/nginx /etc/rc.d/init.d/httpd # 复制到init.d 并重命名为httpd
ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/s61httpd
上一篇: 好吃的饺子有哪些,试试这些口味