欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

第八周作业

程序员文章站 2022-06-21 10:06:13
1、用shell脚本实现自动登录机器 #!/usr/bin/expectset usr rootset pw 123456set ip 192.168.0.100spawn ssh $usr@$ipexpect { "yes/no" { send "yes\n";exp_continue } "pa ......

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