shell,系統啟動和內核管理

shell中的for和while循環,Linux的組成,系統啟動的步驟,以及內核的管理

一、shell中的for和while循環

(1)for循環:

格式: ? ?for ?變量名 ?in 列表;do

循環體

done

執行機制:

依次將列表中的元素賦值給“變量名”; 每次賦值后即執
行一次循環體; 直到列表中的元素耗盡,循環結束

例子:1. 打印九九乘法表

for i in {1..9};do
for j in `seq $i`;do
echo -n “$j*$i=$[i*j] ”
done
echo
done

2.0

例子:2.打印等腰三角形

read -p “Please input ni xisng yao de ceng shu: ” k
for i in `seq $k`;do
n=$[k-i]
for j in `seq $n`;do
echo -n ” ”
done
l=$[2*i-1]
for m in `seq $l`;do
echo -ne “\033[5m*\033[0m”
done
echo

done

2.1

 

(2)while循環

while CONDITION; do
循環體
done

例子:1. 打印九九乘法表

i=1
while [ “$i” -le 9 ];do
j=1
while [ “$j” -le “$i” ];do
echo -n “$j*$i=$[i*j] ”
let j+=1
done
echo
let i+=1
done

3.0

例子:2.打印三角形

read -p “Please Input length : ” n
i=1
while [ “$i” -le “$n” ];do
k=1
m=$[n-i]
while [ “$k” -le “$m” ];do
echo -n ” ”
let k+=1
done
j=1
l=$[2*i-1]
while [ “$j” -le “$l” ];do
echo -n “*”
let j+=1
done
echo
let i+=1
done

3.1

二、Linux的組成

1. Linux由kernel內核+rootfs 組成

(1)kernel的功能:進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能

(2)rootfs:程序和glibc庫文件

庫文件就是函數集合,function,調用接口

過程調用:procedure,無返回值

函數調用:function

程序:二進制執行文件

2.內核設計流派:

(1)單內核:Linux ————>把所有功能都集成于同一個程序

(2)微內核:Windows,Solaris—->每種功能使用一個單獨子系統實現

3.Linux內核特點:

(1)支持模塊化:.ko(內核對象)如:文件系統,硬件驅動,網絡協議等

(2)支持內核模塊的動態裝載和卸載

(3)組成部分:

核心文件:/boot/vmlinuz-VERSION-release

ramdisk:輔助的偽根系統

CentOS 5: /boot/initrd-VERSION-release.img

CentOS 6,7: /boot/initramfs-VERSION-release.img

模塊文件:/lib/modules/VERSION-release

三、系統啟動的步驟

(1)步驟:POST加電自檢——>MBR引導——>GRUB——>加載內核——>啟動init進程

——>讀取/etc/inittab文件 /etc/init/*.conf文件——>……

(2) CentOS6步驟:

1.加載BIOS的硬件信息,獲取第一個啟動設備

2.讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息

3.加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅
動所有的硬件設備

4.核心執行init程序,并獲取默認的運行信息

5.init程序執行/etc/rc.d/rc.sysinit文件

6.啟動核心的外掛模塊

7.init執行運行的各個批處理文件(scripts)

8.init執行/etc/rc.d/rc.local

9.執行/bin/login程序,等待用戶登錄

10.登錄之后開始以Shell控制主機

(3)POST:Power-On-Self-Test,加電自檢,是BIOS功能的一個主要部
分。負責完成對CPU、主板、內存、硬盤子系統、顯示子系統、串并行接
口、鍵盤、CD-ROM光驅等硬件情況的檢測。

(4)ROM:BIOS,Basic Input and Output System,保存著有關計
算機系統最重要的基本輸入輸出程序,系統信息設置、開機加電自檢程序和
系統啟動自舉程序等。

(5)RAM:CMOS互補金屬氧化物半導體,保存各項參數的設定
按次序查找引導設備,第一個有引導程序的設備為本次啟動設備

(6) bootloader:

Windows: ntloader

Linux:

LILO

GRUB

(7)MBR:

446:bootloader ,64:分區表,2:55AA

(8)GRUB:

primary boot loader : 1st stage,1.5 stage
secondary boot loader :2nd stage,分區文件

(9)kernel:
自身初始化:
探測可識別到的所有硬件設備
加載硬件驅動程序(借助于ramdisk加載驅動)
以只讀方式掛載根文件系統
運行用戶空間的第一個應用程序:/sbin/init

(10)ramdisk:

內核中的特性之一:使用緩沖和緩存來加速對磁盤上的文件訪
問,并加載相應的硬件驅動

ramdisk文件的制作:

mkinitrd命令:

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

0.0

0.1

(11)init程序的類型

init讀取其初始化文件:/etc/inittab
初始運行級別(RUN LEVEL)
系統初始化腳本
對應運行級別的腳本目錄
捕獲某個關鍵字順序
定義UPS電源終端/恢復腳本
在虛擬控制臺生成getty
在運行級別5初始化X

CentOS 7:

1.0

CentOS 6:

1.2

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90469

(0)
zss123456zss123456
上一篇 2017-12-21 13:07
下一篇 2017-12-22 23:32

相關推薦

  • 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 1 2  ~]# who |sort -nu root     pts/0        2016…

    Linux干貨 2016-12-21
  • Linux發行版的基礎目錄名稱命名法則及功用規定

    /bin ?存儲單用戶維護模式還能操作的命令 /boot 存儲開機時會使用到的文件 /dev? 存儲設備與接口文件 /etc? 存儲系統的配置文件 /home 系統默認的用戶主目錄 /lib? 存儲函數庫文件 /media 光盤掛載點 /mnt?? 光盤或者U盤掛載點 /opt?? 第三方應用程序文件存放目錄 /root? root用戶家目錄 /sbin ?…

    Linux干貨 2018-03-04
  • 馬哥教育網絡班20期+第2周課程練習

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 常用文件管理命令有:ls、mkdir、cd、pwd、cp、rm、mv、touch、cat、more、less、head、tail等 (1)ls命令:列出目錄內容 ls [OPTION]… [FILE]…  &nbs…

    Linux干貨 2016-06-29
  • 磁盤配額管理

    磁盤配額管理    設定文件系統配額 配置邏輯卷設定LVM快照 配置配額系統綜述在內核中執行以文件系統為單位啟用對不同組或用戶的策略不同根據塊或者節點進行限制   執行軟限制(soft linmit)   硬限制(hard limit)初始化分區掛載選項:usrquota, ge…

    Linux干貨 2017-05-22
  • 在CentOS中獲取命令幫助

    在CentOS中獲取命令幫助    在使用和學習CentOS系統中,當我們遇上不熟悉的命令卻又需要了解它的詳細用法的時候,我們需要獲取幫助。除了借助他人和搜索引擎之外,自己通過查看系統幫助文檔來解決問題是很重要的。下面就來介紹如何獲取幫助以及簡單的解決思路:    一、如何獲取命令幫助 Linux提供多層次的命令幫助:…

    Linux干貨 2016-07-27
  • HAproxy對wordpress的代理

    一,實驗環境 網絡拓撲結構 Web2,master是centos7.3 Web1,backup是centos6.8 客服端的window主機首win7 所有的主機通過switch相連,處于172.18.0.0/16的網段中 二,安裝的軟件 使用wordpress版本4.3.1 Web1安裝httpd,php,php-mysql Web2安裝nfs-utils…

    Linux干貨 2017-05-17
欧美性久久久久