2019-05-06 第八周作業(yè)

1色建、用shell腳本實(shí)現(xiàn)自動(dòng)登錄機(jī)器

 1 #!/bin/bash
 13 pass='123456'
 14 
 15 expect <<EOF
 16 set timeout 10
 17 spawn ssh $1@$2
 18 expect {
 19     "yes/no" { send "yes\n";exp_continue }
 20     "password" { send "$pass\n" }
 21 }
 22 expect eof
 23 EOF

2、shell 判斷一個(gè)值bone是否在數(shù)組arrayZ=( one two three four five five )中

 13 arrayZ=( one two three four five five )
 14 bone="bone"
 15 num=$((${#arrayZ[@]}-1))
 16 for((i=0;i<=$num;i++));do
 17     if [ "$bone" = "${arrayZ[$i]}" ];then
 18         k=1
 19         break
 20     fi
 21 done
 22 
 23 if [ "$k" ];then
 24     echo "$bone在arrayZ數(shù)組中"
 25 else
 26     echo "$bone不在arrayZ數(shù)組中"
 27 fi

3宦棺、用命令或者腳本實(shí)現(xiàn) 0057AF051EFF 變?yōu)?00:57:AF:05:1E:FF 。

 13 var="0057AF051EFF"
 14 length="${#var}"
 15 for((i=0;i<$length;i+=2));do
 16     if [ ! "$mac" ];then
 17         mac="${var:$i:2}"
 18     else
 19         mac="$mac:${var:$i:2}"
 20     fi
 21 done
 22 
 23 echo $mac

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 ! @ # $ % ^ & * ( ) - _ = + \ / ' " ; : [ ] { } , . ?

用以上字符代咸,結(jié)合數(shù)組,實(shí)現(xiàn)一個(gè)隨機(jī)生成20位密碼的腳本

 13 var=( 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 \! \@ \# \$ \% \^ \& \* \( \) \- \_ \= \+ \\ \/ \' \" \; \: \[ \] \{ \} \, \. \? )
 14 
 15 num=${#var[@]}
 16 pass_length=20
 17 
 18 for i in `seq 1 ${pass_length}`;do
 19     ran=$((${RANDOM}%${num}))
 20     [ ! $pass ] && { pass="${var[$ran]}"; continue; }
 21     pass="${pass}${var[$ran]}"
 22 done
 23 echo $pass

5成黄、詳細(xì)敘述centos7開機(jī)流程

1. post(Power-On-Self-Test) 加電自檢
主要實(shí)現(xiàn)的功能是檢測(cè)各個(gè)外圍硬件設(shè)備是否存在而且能夠正常運(yùn)行起來(lái)呐芥,實(shí)現(xiàn)這一自檢功能的是固化在主板上的ROM(主要代表為CMOS)芯片上的BIOS(Basic Input/Output System)程序;例如BIOS會(huì)檢測(cè)CPU奋岁、Memory以及I/O設(shè)備是否能夠正常運(yùn)行思瘟,如果是個(gè)人計(jì)算機(jī)的話可能還會(huì)檢測(cè)一下顯示器。只要一通電闻伶,CPU就會(huì)自動(dòng)去加載ROM芯片上的BIOS程序滨攻,是這樣來(lái)實(shí)現(xiàn)的。而檢測(cè)完成之后就進(jìn)行硬件設(shè)備的初始化。
2. bootsequence(BIOS,選擇啟動(dòng)設(shè)備)
主要實(shí)現(xiàn)的功能是選擇要啟動(dòng)的硬件設(shè)備光绕,選擇了之后就可以讀取這個(gè)設(shè)備上位于MBR里頭的bootloader了女嘲。這一步的實(shí)現(xiàn)是這樣的:根據(jù)BIOS中對(duì)啟動(dòng)順序的設(shè)定,BIOS自己會(huì)依次掃描各個(gè)引導(dǎo)設(shè)備诞帐,然后第一個(gè)被掃描到具有引導(dǎo)程序(bootloader)的設(shè)備就被作為要啟動(dòng)的引導(dǎo)設(shè)備欣尼。
3. bootloader(MBR)
這一步實(shí)現(xiàn)起來(lái)的步驟比較多,前面的BIOS通過(guò)讀取并執(zhí)行啟動(dòng)設(shè)備的MBR中的bootloader停蕉,而bootloader要實(shí)現(xiàn)的功能就是提供一個(gè)菜單給用戶愕鼓,讓用戶去選擇要啟動(dòng)的系統(tǒng)或不同的內(nèi)核版本,然后把用戶選擇的內(nèi)核版本加載至RAM中的特定空間慧起,接著在RAM中解壓菇晃、展開,而后把系統(tǒng)控制權(quán)移交給內(nèi)核完慧。

grub是bootloader中的一種谋旦,就grub來(lái)說(shuō),為了打破在MBR中只有446Bytes用于存放bootloader這一限制屈尼,所以這一步的實(shí)現(xiàn)是這樣的:grub是通過(guò)分成三個(gè)階段來(lái)實(shí)現(xiàn)加載內(nèi)核這一功能的册着,這三個(gè)階段分別是:stage1, stage1.5以及stage2。其中:

stage1:存放于MBR的前446Bytes脾歧,用于加載stage1.5階段甲捏,目的是為了識(shí)別并驅(qū)動(dòng)stage2(或者/boot)所在分區(qū)的文件系統(tǒng);

stage1.5:存放于MBR之后的扇區(qū)鞭执,加載stage2所在分區(qū)的文件系統(tǒng)驅(qū)動(dòng)司顿,讓stage1中的bootloader能識(shí)別stage2所在分區(qū)的文件系統(tǒng);

stage2:存放于磁盤分區(qū)之上兄纺,具體存放于/boot/grub目錄之下大溜,主要用于加載內(nèi)核文件(vmlinuz-VERSION-RELEASE)以及ramdisk這個(gè)臨時(shí)根文件系統(tǒng)(initrd-VERSION-RELEASE.img或initramfs-VERSION-RELEASE.img)。

概述:假如要啟動(dòng)的是硬盤設(shè)備估脆,首先我們的硬件平臺(tái)主板BIOS必須能夠識(shí)別硬盤钦奋,然后BIOS才能加載硬盤中的bootloader,而bootloader自身加載后就能夠直接識(shí)別當(dāng)前主機(jī)上的硬盤設(shè)備了疙赠;不過(guò)付材,能夠識(shí)別硬盤設(shè)備不代表能夠識(shí)別硬盤設(shè)備中的文件系統(tǒng),因?yàn)槲募到y(tǒng)是額外附加的一層軟件組織的文件結(jié)構(gòu)圃阳,所以要對(duì)接一種文件系統(tǒng)厌衔,就必須要有對(duì)應(yīng)的能夠識(shí)別和理解這種文件系統(tǒng)的驅(qū)動(dòng),這種驅(qū)動(dòng)就稱為文件系統(tǒng)驅(qū)動(dòng)捍岳。而stage1.5就是向grub提供文件系統(tǒng)驅(qū)動(dòng)的富寿,這樣stage1就能訪問(wèn)stage2及內(nèi)核所在的分區(qū)(/boot)了睬隶。

注意:kernel和initramfs的文件路徑均以grub的"根"作為起始目錄,且存放于stage2所在分區(qū)上作喘;

需要注意的是理疙,stage2、內(nèi)核以及ramdisk文件通常放置于一個(gè)基本磁盤分區(qū)之上泞坦,因?yàn)間rub無(wú)法驅(qū)動(dòng)lvm窖贤、高級(jí)軟raid等復(fù)雜邏輯設(shè)備,除非提供一個(gè)復(fù)雜的驅(qū)動(dòng)接口贰锁,否則如果stage2及內(nèi)核等文件都存放在lvm等復(fù)雜邏輯設(shè)備上將無(wú)法被stage1所識(shí)別赃梧,更別說(shuō)加載了!

4. kernel初始化
Kerenl在得到系統(tǒng)控制權(quán)之后豌熄,首先要進(jìn)行自身初始化授嘀,而初始化的主要作用是:

(1)探測(cè)可識(shí)別到的所有硬件設(shè)備;

    bootloader將系統(tǒng)控制權(quán)移交給內(nèi)核就好比如后朝推翻前朝锣险,統(tǒng)治者(內(nèi)核)當(dāng)權(quán)之后蹄皱,首先要檢查一下有哪些是前朝所留下的,例如有哪些領(lǐng)土芯肤、人力巷折、財(cái)力、兵力可用等等崖咨。

(2)加載硬件驅(qū)動(dòng)程序锻拘,即加載真正的根文件系統(tǒng)所在設(shè)備的驅(qū)動(dòng)程序(有可能會(huì)借助于ramdisk加載驅(qū)動(dòng));

    這就像統(tǒng)治者(內(nèi)核)在得知底下存在的人力击蹲、財(cái)力之后署拟,開始將可以“為我所用”的人力納入麾下,聽自己使喚歌豺,而不聽使喚的殺掉推穷;

(3)以只讀方式掛載根文件系統(tǒng);

    如果有借助于ramdisk這個(gè)臨時(shí)文件系統(tǒng)(虛根)类咧,則在這一步之后會(huì)執(zhí)行根切換缨恒;否則不執(zhí)行根切換。

(4)運(yùn)行用戶空間的第一個(gè)應(yīng)用程序:systemd.

    到這里內(nèi)核空間的啟動(dòng)流程就結(jié)束了轮听,而接下來(lái)是用戶空間完成后續(xù)的系統(tǒng)啟動(dòng)流程。

5. init管理用戶空間服務(wù)進(jìn)程
systemd執(zhí)行默認(rèn)target配置岭佳,配置文件/etc/systemd/system/default.target
systemd執(zhí)行sysinit.target初始化系統(tǒng)及basic.target準(zhǔn)備操作系統(tǒng)
systemd啟動(dòng)multi-user.target下的本機(jī)與服務(wù)器服務(wù)
systemd執(zhí)行multi-user.target下的/etc/rc.d/rc.local
Systemd執(zhí)行multi-user.target下的getty.target及登錄服務(wù)
systemd執(zhí)行g(shù)raphical需要的服務(wù)

6血巍、編寫Nginx的systemd配置文件, 實(shí)現(xiàn)nginx進(jìn)程開機(jī)啟動(dòng)

[root@localhost ~]#vim /etc/systemd/system/nginx.service
[Unit]
Description=NGINX
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx

[Install]
WantedBy=multi-user.target

[root@localhost ~]#systemctl enable nginx.service

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末珊随,一起剝皮案震驚了整個(gè)濱河市述寡,隨后出現(xiàn)的幾起案子柿隙,更是在濱河造成了極大的恐慌,老刑警劉巖鲫凶,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件禀崖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡螟炫,警方通過(guò)查閱死者的電腦和手機(jī)波附,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)昼钻,“玉大人掸屡,你說(shuō)我怎么就攤上這事∪黄溃” “怎么了仅财?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)碗淌。 經(jīng)常有香客問(wèn)我盏求,道長(zhǎng),這世上最難降的妖魔是什么亿眠? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任碎罚,我火速辦了婚禮,結(jié)果婚禮上缕探,老公的妹妹穿的比我還像新娘魂莫。我一直安慰自己,他們只是感情好爹耗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布耙考。 她就那樣靜靜地躺著,像睡著了一般潭兽。 火紅的嫁衣襯著肌膚如雪倦始。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天山卦,我揣著相機(jī)與錄音鞋邑,去河邊找鬼。 笑死账蓉,一個(gè)胖子當(dāng)著我的面吹牛枚碗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播铸本,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼肮雨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了箱玷?” 一聲冷哼從身側(cè)響起怨规,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤陌宿,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后波丰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壳坪,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年掰烟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了爽蝴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡媚赖,死狀恐怖霜瘪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惧磺,我是刑警寧澤颖对,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站磨隘,受9級(jí)特大地震影響缤底,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜番捂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一个唧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧设预,春花似錦徙歼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至宾符,卻和暖如春酿秸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背魏烫。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工辣苏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哄褒。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓稀蟋,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親呐赡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子糊治,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容