(*长期更新)软考网络工程师学习笔记——Section 11 Linux操作系统简介
目錄
- 前言
- 一、Linux 操作系統
- (一)Linux 組成部分
- (二)Linux 操作系統的特點
- 二、Linux 文件系統
- (一)文件系統的定義
- (二)Linux 文件與進程
- (三)絕對路徑和相對路徑
- (四)Linux 文件系統的樹狀結構
- (五)Linux 主要目錄及作用
- (六)Linux 設備文件
- (七)Linux 文件的分類
- 三、Linux 分區管理
- (一)主分區和擴展分區
- (二)磁盤分區格式
- 四、Linux 系統運行級別
- 五、Linux 系統啟動過程
- (一)引導加載程序
- (二)加載內核
- (三)運行init進程
- (四)系統初始化
- (五)執行/bin/login(用戶登錄)
- 六、Linux 守護進程
- 八、Linux 常見配置文件
- (一)/etc/sysconfig/network 配置文件
- (二)ifcfg-ethx 配置文件
- (三)/etc/host.conf 配置文件
- (四)/etc/hosts 配置文件
- (五)/etc/resolv.conf 配置文件
前言
注:本欄目教程使用虛擬機軟件的是VMware Workstation Pro 15.5.6 build-16341506,映像文件是CentOS-7-x86_64-DVD-1611。
虛擬機配置環境如下:
一、Linux 操作系統
Linux是一種免費且開源的類UNIX操作系統,繼承UNIX的設計風格演變出來的多用戶、多任務、支持多線程和多CPU的操作系統,以下是CentOS 7的頁面:
實際上,CentOS它是一種Linux操作系統的發行版,可以說是以Linux為核心的操作系統軟件包,除了CentOS還有RedHat、Ubuntu、Slackware、SUSE、veket等等,它們都是Linux內核加上外圍實用程序組成的一個大的軟件包。
(一)Linux 組成部分
Linux操作系統由四大主要部分組成:
1、Linux 內核
內核是Linux操作系統的核心,它提供了操作系統最基本的功能,例如支持虛擬內存、多任務、共享庫、可執行程序和TCP/IP網絡等等。
Linux內核中的模塊可分為:存儲管理、CPU和進程管理、文件系統、設備管理和驅動、網絡通信、系統的初始化和系統調用等。
2、Linux Shell
Shell作為Linux操作系統的一種用戶界面,用于與用戶進行交互,為用戶提供使用操作系統的接口,它有以下兩大功能特點:
①Shell是一個命令解釋器,擁有自己內建的Shell命令集;
②Shell它本身就是一種解釋型的程序設計語言。
例如,CentOS中Shell進程提供了命令提示符,其中Shell對普通用戶以$作為提示符,對超級用戶(root)以#作為提示符,如下命令通過su root然后輸入密碼進入特權root模式:
[yyx@192 ~]$ [yyx@192 ~]$ su root 密碼: [root@192 yyx]#在Linux終端輸入命令:
這里的[yyx@192 ~]$ 其中的~符號表示用戶的home目錄,我們可以通過pwd命令(用于顯示當前目錄)和cd命令(用于切換目錄)來理解其結構,如下命令:
在Linux終端輸入命令,可看到進入終端處于[yyx@192 ~]$ 默認目錄下,此時的當前目錄為/home/yyx也就是用戶目錄,這里的/home是用戶主目錄,用于存放系統中普通用戶的宿主目錄,即一個與用戶名同名的目錄,這里存放的用戶名稱為/yyx的同名目錄;另外我們通過cd …命令切換目錄至當前目錄的上一級目錄(父目錄),可驗證/yyx位于/home目錄下,然后再進行切換,則返回到根目錄/下:
3、Linux 文件系統
文件系統是文件存放在磁盤等存儲設備上的組織方法,是文件數據的集合,并且包括文件系統的結構,Linux支持目前流行的多種文件系統,如EXT2、EXT3、FAT、FAT32、VFAT和ISO 9660等等。
4、Linux 應用程序
標準的Linux操作系統一般都有一套稱為應用程序的程序集,包括編輯器、編程語言、X Window、辦公套件、Internet工具和數據庫等等。
(二)Linux 操作系統的特點
Linux操作系統相比于其它操作系統,它具有以下主要特征:
1、開放性
2、多用戶
3、多任務
4、良好的用戶界面
5、設備獨立性
6、提供了豐富的網絡功能
7、可靠的安全系統
8、良好的可移植性
二、Linux 文件系統
(一)文件系統的定義
在操作系統中與管理文件有關的軟件和數據稱為文件系統,其作用是為用戶建立、撤銷、讀寫、修改和復制文件,并且還負責完成對文件按名存取和進行存取控制。
(二)Linux 文件與進程
在Linux操作系統中,可以這樣來定義文件與進程,所有靜態的對象都屬于文件,所有動態的對象都屬于進程。在Linux操作系統中運行的程序可以稱為進程,文件是數據的集合,是文件系統中存儲數據的對象,而進程是運行于其虛擬地址空間的程序。
前面說過Linux是一個多用戶、多任務、支持多線程和多CPU的操作系統,即它是一個多進程的操作系統,每個進程都有自己的權限和任務,且進程的失敗不會互相影響。
另外Linux中有三種類型的進程,分為交互進程、批處理進程和守護進程,如下:
交互進程是由Shell控制和運行的,它既可以在前臺運行也可以在后臺運行;批處理進程不屬于某個終端,被提交到一個隊列中以便順序運行;守護進程是在需要時被喚起后在后臺運行,一般在Linux啟動時開始運行。
(三)絕對路徑和相對路徑
絕對路徑和相對路徑很容易理解,只需根據該路徑是否從根目錄“/”寫起分辯,絕對路徑是完整的描述文件位置的路徑,它是從盤符(根目錄)開始寫起的路徑;而相對路徑可以理解為不從根目錄寫起的目錄,如下例:
例如通過cd命令(用于切換目錄),分別通過絕對路徑和相對路徑方式切換至/home目錄下。
(1)相對路徑方式,起始點以當前工作目錄開始,如下命令:
在Linux終端中輸入命令,如下:
(2)絕對路徑方式,起始點從根目錄 / 開始,如下命令:
在Linux終端中輸入命令,如下:
(四)Linux 文件系統的樹狀結構
Linux文件系統采用樹狀結構來管理文件,每個文件的頂級目錄為根目錄“/”,根目錄通過一個斜線表示(類似于Windows操作系統的“C:\“),在根目錄 / 之下的既可以是一個目錄,也可以是一個文件,且每一個目錄中又可以包含子目錄文件,從而構成整個Linux文件系統,如下圖:
1、當前目錄和父目錄
在Linux文件系統中有兩個特殊的目錄:一個是用戶所在的工作目錄,也叫當前目錄,通過使用.來表示,也可以使用./來表示;另一個是當前目錄的上一級目錄,也叫父目錄,通過使用..來表示,也可以使用../來表示。
2、隱藏目錄或文件
以“.”開頭的目錄或文件名為隱藏目錄或文件,當以默認方式查找時,不會顯示該目錄或文件。
如下當我們通過ls命令默認訪問,不帶參數查看文件和目錄信息以及通過ls -a顯示隱藏目錄或文件:
在終端中輸入命令,如下:
具體的Linux相關命令將在后續的文章中介紹到,這里只是簡單了解一下。
(五)Linux 主要目錄及作用
在桌面點擊“home”主文件夾,然后點擊計算機,可看到一些主要的目錄如下:
或者通過ls /命令顯示目錄:
在Linux終端中輸入命令,如下:
這里只介紹主要的目錄作用,如下表:
| / | 根目錄 |
| /boot | 包含操作系統的內核以及系統啟動時所需讀取的核心文件 |
| /root | 超級用戶的本地目錄 |
| /home | 用戶主目錄,存放系統中普通用戶的宿主目錄,即一個與用戶名同名的目錄 |
| /tmp | 臨時目錄,存放命令程序臨時使用的文件 |
| /usr | 存放應用程序和文件 ,用于存放次重要的分級文件系統的目錄 |
| /var | 存放系統專用數據和配置文件,即經常變化的文件(例如日志文件、用戶郵件等) |
| /dev | 存放終端和磁盤等外部設備文件(例如打印機、光盤驅動、硬盤等) |
| /etc | 存放系統中管理和維護的配置文件 |
| /bin | 存放二進制可執行文件 ,它存放著最經常使用的命令 |
| /sbin | 通常也是存放二進制可執行文件 ,它存放的是系統管理員使用的系統管理程序 |
| /mnt | 外接設備的掛載點,外接設備需掛載在該目錄下才能訪問(例如U盤等) |
| /opt | 存放附加軟件包的目錄 |
| /proc | 存放核心和進程信息虛擬文件系統的目錄 |
(六)Linux 設備文件
Linux中只有文件的概念,系統中每一個硬件設備都映射到一個文件上,即對設備的處理簡化為對文件的處理,該類文件稱為設備文件。
系統中第一個IDE設備指定為hda,隨后第二個IDE設備指定為hdb,第一個SCSI設備指定為sda,隨后第二個SCSI設備指定為sdb,依次……
(七)Linux 文件的分類
Linux文件系統中的文件大致可分為以下七類:
1、普通文件
根據存放內容的不同,可將普通文件分為純文本文件(ASCII)和純二進制文件(binary)。
2、目錄文件
目錄文件是一種特殊的文件,通過cd命令可進入相應的目錄。
例如以下命令:
在Linux終端輸入命令:
3、塊設備文件
是存儲數據以供系統存取的接口設備在上層的表現形式,以塊(1024byte)為單位來操作數據,這里的設備也就是硬盤、U盤等等。
4、字符設備文件
是字符設備驅動程序在上層的表現形式,即串行端口的接口設備,例如鍵盤、鼠標等等。
5、套接字文件
該文件用于網絡通信,通過啟動一個程序來監聽客戶端的要求,從而客戶端就可以通過套接字來進行數據通信。
6、管道文件
用于實現不同進程(程序)之間的通信,它是操作系統提供的一種純代碼層面的通信機制。
7、鏈接文件
相當于一種快捷圖標,指向另一個文件,鏈接文件分為符號鏈接文件(軟鏈接文件)和硬鏈接文件。
三、Linux 分區管理
(一)主分區和擴展分區
主分區的作用是使計算機系統可以啟動操作系統的分區,每一個操作系統的啟動引導程序都存放在主分區上。
Linux規定在一個硬盤設備中主分區和擴展分區最多能有4個,系統分配1?16的序列號碼來區分硬盤上的各分區,例如一個IDE硬盤的第一個分區用hda1表示,第二個分區用hda2表示,依次……表示。
Linux至少需要兩個特有的分區類型Linux Native主分區和Linux Swap交換分區,通常在Linux中安裝Linux Native硬盤分區,分區類型規定在此分區上文件系統的格式。
(二)磁盤分區格式
Linux常見的分區格式如下:
| ext | 擴展文件系統,它擁有最快的速度和最小的CPU占用率 |
| ext2 | 第二代擴展文件系統,它的速度和CPU利用率表現突出,是目前Linux文件系統類型中使用最多的格式 |
| ext3 | 第三代擴展文件系統,是一種日志式文件系統,它是在ext2的基礎上添加了記錄元數據的日志功能 |
| ISO 9660 | CD-ROM文件系統,是一種基于光盤的標準文件系統 |
| NFS | 網絡文件系統,允許多臺PC共享一個文件系統,易于從所有計算機上存取文件 |
| HPFS | 高性能文件系統 |
四、Linux 系統運行級別
Linux操作系統中當前正在運行的功能級別稱為運行級別,共七個,即0~6共七個運行級別,每個級別對應不同的功能,init程序(系統的第一個進程,是所有進程的發起者和控制者)通過尋找initab文件來使相應的運行級別有相應的功能。
標準的Linux的運行級別為3或5,以下是七個運行級別及其對應的功能,:
| 運行級別0 | 停機狀態,機器是關閉的 |
| 運行級別1 | 單用戶工作狀態,僅有root權限,用于系統維護,不能遠程登陸 (類似于Windows的安全模式) |
| 運行級別2 | 多用戶狀態,不支持NFS,也不支持網絡功能 |
| 運行級別3 | 完整的多用戶狀態,支持NFS,可以使用控制臺命令行模式 |
| 運行級別4 | 未使用,作為保留 |
| 運行級別5 | X11控制臺,桌面模式,登錄后進入圖形用戶頁面X Windows模式 |
| 運行級別6 | 系統正常關閉并重啟 |
注:網絡文件系統(NFS)是文件系統之上的一個網絡抽象,來允許遠程客戶端以與本地文件系統類似的方式,來通過網絡進行訪問。
五、Linux 系統啟動過程
Linux系統啟動過程分為五個階段:
(一)引導加載程序
首先從硬盤引導操作系統,由Linux中的引導加載程序GRUB和LILO讀取硬盤主引導記錄(MBR)中的信息(每個MBR中只能存儲一個操作系統的引導記錄)。
(二)加載內核
內核映像不是一個可執行內核,它是一個經壓縮過的內核映像,將其加載到內存后內核開始執行。
(三)運行init進程
在內核引導后開始加載init進程,init進程完成系統的初始化工作并維護系統的各種運行級別。
init進程有兩個作用:
1、終結父進程,系統總以init進程為參照;
2、進入某個特定的運行級別時運行相應的程序,并對各種運行級別進行管理。
(四)系統初始化
init進程根據/etc/inittab文件進行系統初始化,這里以RedHat Linux為例,主要介紹它的系統初始化步驟,如下:
1、執行/etc/rc.d/rc.sysinit
init首先執行的腳本,它主要完成各個不同運行級別中相同部分的初始化工作,包括設置初始的$PATH變量、配置網絡等等;
2、執行/etc/rc.d/rcx.d/下的腳本
在系統初始化時選擇性地執行系統目錄/etc/rc.d/init.d下的服務器腳本程序的一部分,在/etc/rc.d目錄下有七個名為rcx.d(x代表不同運行級別的級別數)的目錄,對應系統運行級別的七個運行級別,這些腳本實際上都是連接文件,而不是真正的rc啟動腳本;
腳本程序的連接文件命名規則為K/S+xx+服務名的形式,其中S表示啟動,K表示結束,K開頭的命令腳本程序會傳遞Stop參數,而S開頭的命令腳本程序會傳遞Start參數,xx是一個兩位數字。
命令腳本程序的執行順序:首先終止K開頭的服務,然后啟動S開頭的服務,再根據S或K后面xx兩位數字的大小來決定執行順序,數值小的先執行;
3、執行/etc/rc.d/rc.local/
RedHat Linux中的運行模式2、3、5都會將/etc/rc.d/rc.local/作為最后一個運行的初始化腳本(可以在這個文件中添加腳本指令,從而實現在系統開機后自動運行某個程序或執行某項常規操作的功能);
(五)執行/bin/login(用戶登錄)
login程序檢驗用戶的輸入賬號和密碼,若通過則為使用者進行初始化環境,并將控制權交給shell,從而等待用戶登錄,啟動過程完成。
六、Linux 守護進程
Linux中每個服務都有一個對應的守護進程,守護進程通常在系統引導時自動啟動,在系統關閉時終止,在后臺運行時不受任何終端控制,平時也沒有一個程序界面與之對應。
以下是常見的守護進程:
| dhcpd | 動態主機控制協議的服務守護進程 |
| crond | 負責周期性地運行用戶調度的任務 |
| httpd | Web服務器Apache守護進程 |
| iptables | iptables防火墻守護進程 |
| named | DNS(BIND)服務器守護進程 |
| pppoe | ADSL連接守護進程 |
| sendmail | 郵件服務器sendmail守護進程 |
| smb | Samba文件共享/打印服務守護進程 |
| snmpd | 簡單網絡管理守護進程 |
| squid | 代理服務器squid守護進程 |
| sshd | SSH服務器守護進程 |
八、Linux 常見配置文件
(一)/etc/sysconfig/network 配置文件
/etc/sysconfig目錄下存放的都是與系統配置相關的文件,/etc/sysconfig/network下用于存放系統的基本網絡信息,如計算機名、默認網關等等。
(二)ifcfg-ethx 配置文件
配置文件位于/etc/sysconfig/networking/ifcfg-ethx中,用于存放系統eth接口的IP配置信息,其中ifcfg-ethx的x值可以為0或1,代表不同的網卡接口。在一般情況下,系統默認讀取/etc/sysconfig/network為默認網關,若不生效,則檢查配置文件內容是否正確,其次檢查相應的網卡接口ifcfg-ethx中是否設置了GATEWAY=,若設置了則會以該為默認網關。
(三)/etc/host.conf 配置文件
用于保存系統解析主機名或域名的解析順序,在網絡環境中使用計算機名或域名時,系統首先會去/etc/host.conf 配置文件中尋找配置,確定解析主機名的順序。
(四)/etc/hosts 配置文件
用于存放系統中的IP地址和主機對應關系的一個表,如下通過cat命令查看/etc/hosts 配置文件:
[yyx@yyx12 ~]$ cat /etc/hosts在Linux終端輸入命令:
(五)/etc/resolv.conf 配置文件
用于存放DNS客戶端配置文件,通過vi命令可以顯示該配置文件設置的本機的DNS服務器:
vi /etc/resolv.conf在終端中輸入命令,如下:
然后回車鍵,即可顯示該配置文件設置的本機系統的DNS服務器地址:
例如在Linux系統中,DNS查詢文件內容如下:
Search domain.test.cn Nameserver 210.34.0.14 Nameserver 210.34.0.15 Nameserver 210.34.0.16 Nameserver 210.34.0.17可知,該文件的默認存儲位置為/etc/resolv.conf ,當用戶作DNS查詢時,首選DNS服務器的IP地址為210.34.0.14。
總結
以上是生活随笔為你收集整理的(*长期更新)软考网络工程师学习笔记——Section 11 Linux操作系统简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python数据结构学习笔记——链表:无
- 下一篇: (*长期更新)软考网络工程师学习笔记——