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

相關推薦

  • N25第三周作業(用戶組,和文本管理)

    列出當前系統 上所有已經登錄用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可. 列出最后登錄到當前系統的用戶相關信息. 命令who查看所有用戶 , tail查看后幾行 取出當前系統上被用戶當作其默認shell的最多那個shell. 命令cut 分割 , -d 指定分隔符,-f指定字段 uniq 顯示或忽略重復行信息   -c:顯示并統計重復…

    Linux干貨 2016-12-19
  • 廉價磁盤陣列(RAID)與邏輯卷(lvm)

    RAID的作用介紹與LVM的創建分析   有計算機基礎常識的人們都能了解,現如今生產出來的存儲設備比如機械式磁盤,作為個體它的存儲容量是有上限的,雖然曾經有人開發出大容量磁盤,但是成本太高,無法在社會中普及應用。對于這種大型服務器系統迫切需要的功能,催生出了一個叫做廉價冗余磁盤陣列的技術,歪果仁將它稱為RAID。而后隨著歲月的發展,又產生了邏輯卷l…

    Linux干貨 2016-09-11
  • ftp的配置

    FTP服務器配置 VSFTP主配置文件路徑:/etc/vsftpd/vsftpd.conf,重要參數: anonymous_enable=yes/no 是否允許匿名用戶訪問 anon_upload_enable=yes/no 是否允許匿名用戶上傳文件 anon_mkdir_write_enable=yes/no 是否允許匿名用戶創建目錄 anon_other…

    2017-10-16
  • iptables防火墻

    Linux防火墻基礎 在Internet中,企業通過架設各種應用系統來為用戶提供各種網絡服務,例如Web網站,電子郵件系統,FTP服務器,數據庫系統等等,而防火墻就是用來保護這些服務器,過濾企業不需要的訪問甚至是惡意的入侵。 Linux防火墻體系主要工作在網絡層,針對TCP/IP數據包實施過濾和限制,屬于典型的包過濾防火墻。Linux防火墻體系基于內核編碼實…

    Linux干貨 2017-01-10
  • Linux刪除特殊字符文件

    由于很多原因可能會導致一些文件的文件名是亂碼,當我們刪除的時候就會發現這個文件名既不能自動補全,也不能直接刪除。

    2017-11-11
欧美性久久久久