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