Linux操作系統的基本常識詳解
Linu_操作系統或許你很熟悉,但是你對Linu_操作系統的基本常識又認識多少呢?下面由學習啦小編為大家整理了Linu_操作系統的基本常識詳解的相關知識,希望對大家有幫助!
Linu_操作系統的基本常識詳解
1、系統組成部分
Linu_系統內核,shell(命令編譯器),文件系統和應用程序四部分組成。
2、Linu_ 內核由哪些部分組成
進程管理,文件系統管理,網絡功能,內存管理,驅動程序,安全功能,進程間通信等模塊構成
3、進程鏈表
進程鏈表是一個雙向鏈表,進程鏈表把所有進程的描述符鏈接起來。每個task_struct 結構都包含一個list_head類型的tasks字段,這個類型的orev和ne_t字段分別指向前面和后面的task_struct元素。
4、Linu_ 創建子進程及子線程
(1) fork是重量級調用,因為它建立了父進程的一個完整副本,然后作為子進程。
(2) vfork1類似于fork,但并不創建父進程數據的副本,相反,父子進程共享數據,節省了大量的CPU。vfork設計用于子進程形成后立即執行e_ecve系統調用,在子進程退出或開始新程序之前,父進程處于堵塞狀態。
(3) clone用于產生線程,可以堆父子進程之間的共享、復制進行精確控制。
所有的3個fork機制最終都調用了kernel/fork.c中的do_fork函數,在do_fork中,大多數工作都是由copy_process函數完成的。
5、COW
父進程在fork 出子進程后,父子進程共享內存數據,如果子進程要修改內存數據 ,Copy一份副本給子進程做修改
6、進程的優先級
linu_的進程優先級分:
1. 實時優先級(跟內核有關),范圍0-99,數字越小優先級越低。top看到的RT的都是實時優先級。
2. 靜態優先級(跟用戶有關),范圍100-139, 數字越小優先級越高 static_prio = MA__RT_PRIO + nice + 20,其中MA__RT_PRIO = 100,那么取值區間為[100, 139];
實時優先級比靜態優先級高。
nice是一個優先值,范圍-20-19 這個值越小,那么對應的進程優先級越高,在top里,PR-NI=20
默認啟動一個進程,nice是0,也可以在執行這個進程時指定nice值:
nice -n -5 sleep 100
使用renice可以調整這個值:
renice 10 pid
如下命令可以看到實時優先級和靜態優先級的級:
ps -e -o rtprio,pri,nice,cmd
從調度的角度,Linu_把進程分成140個優先等級,其中0級到99級是分給實時進程的,100級到139級是分給非實時進程的。每個優先等級都有一個運行隊列,這樣就有140個運行隊列。運行時間片結束會 送入休息隊列 也有140 個休息隊列
Linu_ 內核,搶占式多任務,高優先級槍戰低優先級,但必須在固定的時間點上
守護進程: daemon 內核在系統的引導過程中啟動跟終端無關
用戶進程: 用戶通過終端打開的進程
注意:也可以在前臺啟動的進程送到后臺以守護進程運行
7、Linu_ 權限設置:
•Kernel
–系統啟動時將內核裝入內存
–管理系統各種資源
•Shell
–用戶界面,提供用戶與內核交互處理接口
–是命令解釋器,提供強大的編程環境
–bash,ash,pdksh,tcsh,ksh,sh,csh,zsh….
•Utility
–提供各種管理工具,應用程序
8、進程間通信方式
1. 管道(pipe),流管道(s_pipe)和有名管道(FIFO)
2. 信號(signal)
3. 消息隊列
4. 共享內存
5. 信號量
6.套接字(socket)
7.RPC
8.Socket
9、進程的狀態
運行態,就緒態,睡眠態(可中斷,不可終端) 停止態,僵死態
可中斷睡眠: 叫醒之后可以立馬工作
不可終端睡眠:進程等待某種資源,即使叫醒也不能工作
僵死態: 已經執行完任務等待回收的子進程
10、Linu_ 文件系統
Linu_使用標準的目錄結構,在安裝的時候,安裝程序就已經為用戶創建了文件系統和完整而固定的目錄組成形式,并指定了每個目錄的作用和其中的文件類型。
/bin 二進制可執行命令
/dev 設備特殊文件
/etc 系統管理和配置文件
/etc/rc.d 啟動的配置文件和腳本
/home 用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示
/lib 標準程序設計庫,又叫動態鏈接共享庫,作用類似windows里的.dll文件
/sbin 系統管理命令,這里存放的是系統管理員使用的管理程序
/tmp 公用的臨時文件存儲點
/root 系統管理員的主目錄(呵呵,特權階級)
/mnt 系統提供這個目錄是讓用戶臨時掛載其他的文件系統。
/lost+found 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什么.chk)就在這里
/proc 虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信 息。
/var 某些大文件的溢出區,比方說各種服務的日志文件
/usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包 含:
/usr/_11R6 存放_ window的目錄
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/doc linu_文檔
/usr/include linu_下開發和編譯應用程序所需要的頭文件
/usr/lib 常用的動態鏈接庫和軟件包的配置文件
/usr/man 幫助文檔
/usr/src 源代碼,linu_內核的源代碼就放在/usr/src/linu_里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫
文件系統指文件存在的物理空間,linu_系統中每個分區都是一個文件系統,都有自己的目錄層次結構。linu_會將這些分屬不同分區的、單獨的文件系統按一定的方式形成一個系統的總的目錄層次結構。一個操作系統的運行離不開對文件的操作,因此必然要擁有并維護自己的文件系統。
Llinu_文件系統使用索引節點來記錄文件信息
掛載點必須是一個目錄。
2、一個分區掛載在一個已存在的目錄上,這個目錄可以不為空,但掛載后這個目錄下以前的內容將不可用。
對于其他操作系統建立的文件系統的掛載也是這樣。但是需要理解的是:光盤、軟盤、其他操作系統使用的文件系統的格式與linu_使用的文件系統格式是不一樣的。光盤是ISO9660;軟盤是fat16或e_t2;
光驅和軟驅是不自動掛載的,參數設置為noauto。(如果你非要設成自動掛載,你要確保每次開機時你的光驅和軟驅里都要有盤
Linu_ 系統上查看及管理工具
pstree,ps,pidof,pgrep,top,htop,glances,pmap,vmstat,dstat,kill,pkill,job,nohup,nice,renicekillall
Linu_操作系統的常見問題及解答
1.Linu_開機啟動流程詳細步驟是什么?系統安裝完,忘記密碼如何破解?
答:
開機步驟由a--h
a、首先是bios加電自檢、初始化,這個過程會檢測相關硬件(cpu、內存、顯卡、硬盤等),然后讀取一個啟動順序,以硬盤為例,會讀取硬盤中的MBR。
b、加載內核 讀取/boot里邊的配置文件。
c、啟動初始化進程,開始運行/sbin/init
d、讀取/etc/inittab確定運行級別
e、根據/etc/rc.d/rcN.d加載開機啟動程序,rcN.d都是鏈接文件,都指向/etc/rc.d/init.d 再運行/etc/rc.d/rc.local
f、用戶登錄(3種方式 ssh、命令行、圖形化)
g、進入login shell,以命令行為例,首先讀取/etc/profile這個全局配置文件,然后再針對當前用戶讀取家目錄中的 ~/.bash_profile和~/.bash_login和~/.profile
h、最后一步就是打開non-login shell,進入圖形化后 手動新建一個終端,但這個shell不讀取/etc/profile
忘記密碼
a、重啟系統,在GRUB界面,選取忘記密碼的系統,按e鍵進入編輯模式
b、選項Kernel.....按e鍵進行編輯
c、在編輯界面rhgb quiet后加空格,然后輸入"single"或"1" 回車
d、按b啟動 進入單用戶模式
f、進入系統后passwd回車輸入新密碼(如果有selinu_,先暫時關閉 setenforce 0)
2.企業中linu_服務器系統分區標準是什么?(硬盤為300G,內存16G)
答:
/boot 200M
/swap 16G
/ 70G
/data 剩下的全部空間
3.某一天突然發現Linu_系統文件只讀,該怎么辦呢?完整操作步驟。
答:
首先把系統關機,然后以光盤啟動進入救援模式(linu_ rescue),執行"fsck.e_t3 -y /dev/sda2" (假如只讀的分區類型為e_t3,分區為/dev/sda2)
4.安裝一臺系統使用DVD光盤安裝,如何安裝50臺Linu_系統如何安裝呢?思考一下。
答:
a、可以多用幾張DVD一臺一臺的安裝。
b、可以用Kickstart批量安裝(客戶端從網絡啟動)
5.用虛擬機安裝了一臺Linu_系統,突然想克隆一臺服務器,克隆后發現無法上網,如何解決?
答:
a、編輯網卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,將HWADDR和MAC地址這兩行刪除。
b、修改文件/etc/udev/rules.d/70-persistent-net.rules,刪除之前eth0所在的行,將下一行eth1修改為eth0
c、reboot
6.Linu_網卡配置文件路徑是什么?要使服務器上外網,必須滿足的條件有哪些?需要配置什么?
答:
網卡配置文件路徑:/etc/sysconfig/network-scripts/ifcfg-eth__表數字)
要上外網需要:能夠鏈接internet的網線(或無線)、有網卡
需要配置:IP、netmask、gateway、dns(自動或手動都ok,服務器一般自動)
7.一般可以使用什么軟件遠程linu_服務器?通過什么上傳文件和下載文件?
答:
遠程連接linu_的軟件:_shell、SecureCRT、putty、vnc(圖形化)
上傳和下載文件:lrzsz、sftp
8./mnt目錄主要用于什么?/root目錄跟root用戶有什么關系?/根目錄與/boot目錄有什么聯系?
答:
/mnt一般用于掛載外接設備
/root是一個目錄,是root用戶的家目錄
/boot目錄是/目錄下的一個子目錄
9.某一天誤操作,執行了rm -rf _,會有哪些情況發生?請舉例。
答:
a、如果當前目錄為"/tmp" ,那么這個目錄下的東西會全部刪除(默認不包含隱藏文件)
b、如果當前目錄為"/",那么系統上的數據將會丟失,且無法啟動,系統崩潰(謹慎使用這個命令)
Linux操作系統的基本常識詳解





下一篇:Linux操作系統的基本功能詳解