《鸟哥的Linux私房菜》第四版导学
生活随笔
收集整理的這篇文章主要介紹了
《鸟哥的Linux私房菜》第四版导学
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鳥哥的Linux私房菜
0、計算機概論
0.1、電腦:輔助人腦的好工具(什么是電腦?什么是計算機a3)
- 0.1.1、電腦硬件的五大單元(電腦硬件大致可分為三個部分b3)(什么是CPU a4)(CPU主要的組成部分b4)(算術邏輯單元的功能c4)(控制單元的功能d4)(CPU讀取的數據來源e4)(電腦硬件的五個組成部分f4)(數據在內存流動的基本知識g4)
- 0.1.2、一切設計的起點:CPU架構(常見的兩種CPU架構a5)(世界上使用最廣的CPU b5)(常見的RISC指令集CPU c5)(常見的CISC指令集CPU d5)(關于32位CPU和64位CPU的說明,見輔助文檔)(不同x86的CPU有何不同f5)(Intel/AMD的x86架構中的重要指令g5,見輔助文檔)
- 0.1.3、其他單元的設備(主機中各個設備如何被連接和控制a6)(系統單元主要組成成分b6)(存儲單元主要組成成分e6)(輸入輸出單元常見的設備c6)
- 0.1.4、運作流程(每個電腦部件和人體器官的關系d6)
- 0.1.5、電腦的分類(以電腦復雜度與計算能力將電腦進行分類a7)
- 0.1.6、電腦上面常用的計算單位,包括容量、速度等(K,M,G等單位在不同進制下的數值表示a8)(為什么500G的硬盤格式化只剩下460G a9)
0.2、個人電腦架構與相關設備組件(主板上的芯片組會影響計算機系統的性能b9)(早期的芯片組cd9,a11)
- 0.2.1、執行腦袋運算與判斷的CPU(什么是多內核a10)(進行電腦升級為什么要注意CPU針腳b10)(什么是CPU頻率c10)(能不能單純只用頻率來衡量CPU速度d10)(什么是CPU架構?見輔助文檔)(早期的CPU設計中,什么是外頻?什么是內頻?外頻、內頻和CPU頻率三者的關系b11)(Intel和AMD如何解決所有數據被北橋卡死的問題c11)(內存的工作頻率受CPU中的內存控制器限制d11)(什么是CPU的字長a12)(x86-64的兼容性b12)(如何實現超線程c12)
- 0.2.2、內存(個人電腦的內存組件為DRAM a13)(SDRAM和DDR SDRAM的型號與頻率及帶寬之間的關系c13)(內存容量和速度的重要性d13)(什么是多通道設計b13)(什么是二級緩存設計概念a14,b14)(CMOS如何讀取和更新c14)(BIOS的作用de14)(什么事固件?f14)
- 0.2.3、顯卡(關于顯卡的簡介ab15)(什么是GPU,見輔助文檔)(不同插槽規格的顯卡d15)(PCle插槽顯卡的處理模式及規格e15)(假設顯示器使用1024*768分辨率,且使用全彩,每個像素占用3B的容量,至少需要多少內存才能使用這樣的飽和度?c15)
- 0.2.4、硬盤與存儲設備(硬盤的組成成分a16)(磁盤的操作原理b16)(什么是扇區a17)(什么是磁道b17)(什么是柱面c17)(磁盤讀寫數據的默認方式d17)(磁盤傳輸接口的更迭g17)(SATA接口傳輸的細節e17)(SATA接口的各個版本f17)(SAS接口的各個版本d18)(USB接口的各個版本e18)(機械硬盤和固態硬盤的簡稱a18)(固態硬盤的優點b18)(固態硬盤的弊端c18)(選購硬盤時應該注意的問題a19)(關于硬盤的使用b19)
- 0.2.5、擴展卡與接口(現在主板的插槽設計a20)(購買網卡時要查清楚接口的類型d20)
- 0.2.6、主板(主板和擴充卡之間的小細節a21)(IO地址b21)(IRQ中斷的作用c21)(CMOS和BIOS的功能和聯系d21)(主板連接外置設備的接口e21)
- 0.2.7、主機電源(主機電源的挑選a22)
- 0.2.8、選購須知(關于速度瓶頸分析的例題a23,見輔助文檔)(造成系統不穩定的原因b23)
0.3、數據表示方式
- 0.3.1、數字系統(二進制的簡介a24)
- 0.3.2、字符編碼系統(計算機如何記錄文字bc24)(關于常用的英文編碼系統ASCII d24)(關于中文編碼系統Big5和GBK e24)(關于UTF-8編碼a25)
0.4、軟件程序運行
- 0.4.1、機器語言程序與編譯型程序(如何讓CPU運行的原始方法及這么做的困難之處和解決方案bc25)
- 0.4.2、操作系統(什么是操作系統a26,c27)(關于內核程序的說明b26)(軟件,內核及硬件之間的關系ab27)(關于操作系統的一些細節d-f27)(操作系統內核的主要功能g27)(操作系統內核應具有的功能h27)(如何驅動新的硬件a28)(操作系統與驅動程序的相關細節b28)
- 0.4.3、應用程序
0.5、重點回顧a29
0.6、本章習題,見輔助文檔
1、Linux是什么與如何學習
1.1、Linux是什么
- 1.1.1、Linux是什么?操作系統 / 應用程序?(Linux是什么a33)(同一個操作系統能否在不同的硬件平臺上運行b33)(什么是軟件移植?c33)(Windows能否在蘋果的Mac計算機上安裝運行d33)(Windows是x86架構的計算機專屬操作系統a34)(Linux是否具有可移植性?b34)
- 1.1.2、Linux之前,UNIX的歷史
- 1.1.3、關于GNU計劃、自由軟件與開放源代碼
1.2、托瓦茲的Linux的發展
- 1.2.1、與Minix之間
- 1.2.2、對386硬件的多任務測試
- 1.2.3、初次發布Linux 0.02
- 1.2.4、Linux的發展:虛擬團隊的產生
- 1.2.5、Linux的內核版本
- 1.2.6、Linux發行版(如何選擇適合自己的Linux發行版a51)
1.3、Linux當前應用的角色
- 1.3.1、企業環境的使用(企業環境下Linux的用途abc52)
- 1.3.2、個人環境的使用(Linux在個人環境中的應用a53,ab54)
- 1.3.3、云端應用(什么是虛擬化a55)
1.4、Linux該如何學習
- 1.4.1、從頭學習Linux基礎(學習Linux的建議a56)
- 1.4.2、選擇一本易讀的工具書(閱讀本書之后的推薦書籍a57)
- 1.4.3、實踐再實踐(Linux實踐經驗分享a58)
- 1.4.4、發生問題怎么處理(查詢一些問題解決網站b58)(注意信息輸出,自行解決問題a59)(討論區發言,詢問大牛解決方案b59)(Netman大大的建議c59)
- 1.4.5、鳥哥的建議,重點在solution的學習
1.5、重點回顧
1.6、本章習題(見輔助文檔)
2、主機規劃與磁盤分區
2.1、Linux與硬件的搭配(針對Linux內核應該如何選擇硬件ab64)
- 2.1.1、認識計算機的硬件設備(游戲用途計算機硬件的考慮c64)(辦公用途的計算機硬件考慮d64)(如何從性價比考慮硬件e64)(每瓦性能的含義a65)(從支持度方面考慮硬件b65)
- 2.1.2、選擇與Linux搭配的主機設備(早期被淘汰或者元件老化的計算機會不會出現運行問題?c65)(Linux運行所需要的硬件設備配置不需要太高d65)(Linux用作小型服務器,無大量計算,無圖形用戶界面是的配置要求ef65,acdef66)(什么是磁盤陣列?b66)(一般小型主機且不含X-Window系統配置g66)(桌面型Linux系統含有X-Windows配置要求h66)(中型以上Linux服務器i66)(Linux對硬件支持的查詢網站a67)
- 2.1.3、各硬件設備在Linux中的文件名(Linux系統中的硬件設備配置文件在哪個目錄內?b67)(常見設備在Linux中對應的文件名a68)(Linux中的設備文件名查詢網站b68)
- 2.1.4、使用虛擬機學習(Winidows系統推薦的虛擬化軟件是VirtualBox ce68)(Linux系統推薦的虛擬化軟件d68,a69)
2.2、磁盤分區(Linux系統安裝在計算機的那個組件中b69)
- 2.2.1、磁盤連接方式與設備文件名的關系(常見的磁盤接口是什么?c69)(正常物理機器的磁盤文件名和虛擬機使用的磁盤文件名的區別d69)(例題e69)(如何決定SATA和USB接口的設備文件名g69)(例題f69)(是否每個扇區都一樣重要a70)(兩種磁盤分區格式MBR和GPT簡介b70)
- 2.2.2、MBR與GPT磁盤分區表(關于文件系統的最小單位和分區的最小單位的說明c70)(MBR格式第一個扇區記錄的內容d70)(磁盤分區表的作用示意圖a71)(關于MBR磁盤分區的重要知識b71)(為什么要進行磁盤分區?cd71)(MBR分區表只有四組記錄區,是否只能分四個分區呢?e71)(使用擴展分區劃分更多的分區示意圖f71,ab72)(MBR分區格式中的各個分區對應Linux系統中的設備文件名是什么?c72)(MBR分區格式中主要分區、擴展分區與邏輯分區的特性d72)(關于磁盤合并的細節的例題a73)(MBR格式的磁盤第一扇區如果損壞會有什么影響b73)(關于磁盤分區的例題c73,a74)(MBR格式的弊端a75)(GPT分區表格式簡介bc75)(GPT分區表的結構示意圖d-g75)(GPT格式總結h75)
- 2.2.3、啟動流程中的BIOS與UEFI啟動檢測程序(兩種計算機啟動程序a76)(關于CMOS和BIOS的說明b76)(BIOS啟動硬盤的過程cde76)(BIOS啟動GPT格式硬盤的說明f76)(使用grub啟動引導程序的細節a77)(啟動引導程序的主要任務b77)(計算機能不能具有兩個以上的啟動引導程序c77)(MBR內的可同時識別兩個操作系統的啟動引導程序工作流程圖de77)(為什么Linux和Windows雙系統的時候要先安裝Windows a78)(BIOS的弊端以及UEFI的產生bc78)(BIOS與UEFI的差異d78)(UEFI的缺陷ab79)(關于UEFI安全性c79)
- 2.2.4、Linux安裝模式下,磁盤分區的選擇(根目錄的表示d79)(如何將目錄樹架構與磁盤內的數據結合a80)(什么是掛載b80)(目錄樹與分區之間的相關性圖c80)(如何判斷一個文件位于哪個分區a81)(區分Linux掛載和Windows分區代號的例題b81)(發行版安裝時,掛載點與磁盤分區的規劃c-f81)
2.3、安裝Linux前的規劃
- 2.3.1、選擇適當的Linux發行版
- 2.3.2、主機的服務規劃與硬件的關系
- 2.3.3、主機硬盤的主要規劃(什么是數據安全?a84)
- 2.3.4、鳥哥的兩個實際案例(家用小型Linux服務器,IP共享與文件共享中心a85)(提供Linux的PC集群a86)
2.4、重點回顧
2.5、本章習題(解答見輔助文檔)
3、安裝CentOS 7.x
3.1、本練習機的規劃,尤其是分區參數(練習機的規劃abc89,ab90)
4、首次登陸與在線求助
4.1、首次登陸系統
- 4.1.1、首次登陸Centos 7.x 圖形用戶界面模式
- 4.1.2、GNOME的操作與注銷(Linux系統上登陸某個帳號的家目錄路徑是什么?a120)(一般目錄、含鏈接文件的目錄以及不可訪問目錄的圖像表示a122)(重新啟動X Windows的簡單方法a124)
- 4.1.3、X Windows與命令行模式的切換(Linux默認情況下會提供六個終端來讓用戶登陸,切換的快捷鍵是什么b124)(Linux默認情況下會提供六個終端來讓用戶登陸,各個終端的命名規則是什么?c124)(關于centsos 7環境下默認提供的六個終端啟動時的細節a125)(命令行模式啟動X Windows的方法b125)(使用startx命令啟動X Windows的細節c125)(什么是圖形環境d125)
- 4.1.4、在終端登陸Linux(家目錄的表示符號是什么?a126)(命令行模式下如何注銷Linuxb126)
4.2、命令行模式下命令的執行(什么是殼程序a127)
- 4.2.1、開始執行命令(Linux中命令格式的說明b127)(關于輸入命令后輸出的結果是亂碼的問題a128,見輔助文檔)
- 4.2.2、基礎命令的操作(顯示當前系統時間a129)(date命令的格式化案例c129)(命令中的選項前面是否都是“-”號b129)(cal指令顯示日歷的案例d129)(命令行模式的命令種類a131)
- 4.2.3、重要的幾個熱鍵(Tab鍵的功能b131,a132)(ctrl + c功能b132)(ctrl + d功能c132)
- 4.2.4、錯誤信息的查看(命令找不到可能的原因a133)
4.3、Linux系統的在線求助man page 與 info page
- 4.3.1、命令的 --help 求助說明(怎么大致的了解一個命令的用法a134)
- 4.3.2、man page(man顯示界面的說明a-h135)(man page的功能a136)(man date查詢的date用法界面中的DATE(1)是什么意思b136)(man page頁面中命令后面常見的數字c136)(man page 大致分成幾個部分d136)(如何使用man page a137)(如何在man page中查找字符串b137)(man page中常用的按鍵c137)(man page讀取命令的說明文件的儲存目錄c138)(如何查詢與某個命令相關的的說明文件a138,a139)(如何查詢與某個關鍵字相關的說明文件b138,b139)
- 4.3.3、info page(info page的特色c139)(info格式的說明文件存放的路徑d139)(info page第一行數據的意義a140)(如果不知道怎么使用info page時的辦法b140)(info page的操作指南c140)
- 4.3.4、其他有用的文件(某些軟件的說明文件存放路徑a141)(man、info、/usr/share/doc/使用總結b141)
4.4、超簡單的文本編輯器:nano(nano中的組合按鍵a142)
4.5、正確的關機方法(為什么Linux不能像Windows長按4秒后關機ab143)(如何觀察系統的使用狀態c143)(通知在線用戶關機的時刻d143)(正確的關機命令使用e143,abcd144,ef145)(shutdown的語法d144)(關于reboot、halt、poweroff e145)(關于init命令的說明g145)(目前系統中所有服務管理的命令systemctl f145)
4.6、重點回顧
4.7、本章習題(解答見輔助文檔)
5、Linux的文件權限與目錄配置
5.1、用戶與用戶組(為什么要有用戶與用戶組功能?a150)(文件擁有著為什么很重要?b150)(用戶組最有用的功能是什么?cd150)(每個帳號能不能由多個用戶組支持?e150)(用戶與用戶組概念的舉例說明f150)(用戶、用戶組、其他人的圖示說明a151)(默認情況下,Linux上所有的帳號、一般身份用戶和root的相關信息、帳號密碼以及所有組名分別記錄在哪個目錄內b151)
5.2、Linux文件權限概念
- 5.2.1、Linux文件屬性(以root權限執行ls -al命令的說明ab152)(關于ls -al命令輸出的第一欄文件類型和權限的說明a153)(關于ls -al命令輸出第二欄的文件被鏈接數的說明a154)(關于ls -al命令輸出第三欄文件或目錄擁有者的說明b154)(關于ls -al命令輸出第四欄所屬用戶組的說明c154)(關于ls -al命令輸出第五欄文件容量大小的說明d154)(關于ls -al命令輸出第六欄文件創建或修改日期的說明e154)(關于ls -al命令輸出第七欄文件名的說明f154)(對于一個目錄,如果一個用戶對于他的權限是只讀,不能寫不可執行,那么他能不能進入到該目錄中a155)(Linux文件權限的重要性b-d155)
- 5.2.2、如何修改文件屬性與權限(關于如何創建新的用戶以及將用戶添加到某個用戶組的操作,見輔助文檔)(修改文件或目錄的用戶組a156)(chgrp命令常用的選項和參數d156)(chgrp命令常見的范例e156)(修改文件擁有者bc156,a157)(chown命令常見的選項和參數f156)(chown命令的范例g156)(需要修改文件所屬用戶和所屬用戶組的常見情況b157)(權限的設置有哪兩種方法c157)(讀寫執行三種權限對應的數字分別是什么d157)(三種身份的權限如何用數字表示e157)(chmod命令使用數字方式修改權限的選項和參數f157)(chmod命令使用數字方式修改權限的范例g157)(使用符號類型修改文件權限a158)(使用符號類型修改文件權限實踐b158)
- 5.2.3、目錄與文件的權限意義(權限對于文件的意義d159)(Windows中的文件是否可以執行通過什么來判斷a159)(Linux中的文件是否可以執行通過什么來判斷b159)(具有w權限是否能狗刪除文件本身c159)(權限對于目錄的意義e159)(對文件和目錄權限的總結a160)(如果對于某個目錄的權限沒有x能不能進入到該目錄中?b160)(如果要開放目錄給別人瀏覽應該怎么做?c160)(經典例題:某個用戶家目錄下有一個文件,但該用戶對該文件沒有rwx權限,能不能將其刪除?d160)(用戶對于文件與目錄操作的最低權限的舉例a162)
- 5.2.4、Linux文件種類與擴展名(關于常規文件的說明a-d163)(關于目錄文件的說明e163)(關于鏈接文件的說明f163)(關于設備與設備文件的說明g163)(關于數據接口文件的說明h163)(關于數據輸送文件的說明i163)(關于一個Linux文件能不能執行的說明jk163)(可以被執行與能否執行成功是不是一回事?a164)(關于腳本或批處理文件的擴展名b164)(網頁相關文件的擴展名d164)(Linux中文件名長度限制是多少?e164)(Linux中文件名命名的規范f164)
5.3、Linux目錄配置
- 5.3.1、Linux目錄配置的依據——FHS(FHS標準的主要目的是什么a165)(FHS將目錄分為四種交互作用的形態,這四種分別是什么?b165)(關于root在Linux中含義的說明a166)(關于FHS針對目錄樹架構定義的三層目錄的說明c165)(根目錄“/”的意義與內容b166)(FHS規定根目錄中必須存放的目錄c-i166,a-g167)(FHS規定根目錄中可以存放的目錄hij167)(Linux中其他非常重要的目錄k-m167)(/usr的意義與內容a168)(FHS要求/user目錄必須要存在的目錄b-f168)(FHS建議/user目錄可以存在的目錄g-k168)(/var的意義與內容l168)(FHS要求/var目錄必須要存在的目錄a-g169)
- 5.3.2、目錄樹(什么是目錄樹?h169)(目錄樹有哪些特性a170)(目錄樹架構圖b170)(根據FHS定義最好將/var獨立出來c170)
- 5.3.3、絕對路徑與相對路徑(絕對路徑與相對路徑d170,a171)(網絡文件中的./run.sh之類的命令意義是什么?a172)
- 5.3.4、Centof的觀察(如何查看內核與LSB所需求的幾種重要標準b172)
5.4、重點回顧
5.5、本章練習(解答見輔助文檔)
6、Linux文件與目錄管理
6.1、目錄與路徑
- 6.1.1、相對路徑與絕對路徑(什么是相對路徑與絕對路徑?a176)
- 6.1.2、目錄的相關操作(一些比較特殊的目錄b176)(根目錄下是否存在“…”目錄a177)(關于切換目錄命令cd的說明bcd177)(關于顯示目錄命令pwd的說明a178)(關于創建新目錄命令mkdir的說明bc178)(關于刪除空目錄命令rmdir的說明a179)
- 6.1.3、關于執行文件路徑的變量:$PATH(為什么使用命令的時候直接輸入命令名稱而不需要輸入完整的路徑bce179)(PATH變量保存的內容是什么?d179)(如何取出shell中的變量的值,見輔助文檔)(關于更改命令所屬目錄之后如何讓命令運行的例題a180)(如果PATH中的目錄下有多個重名文件誰先被執行b180)(是否應該在PATH變量中加入“.”本目錄?c180)(對于PATH的總結a181)
6.2、文件與目錄管理
- 6.2.1、文件與目錄的查看:ls(命令ls常用的選項a-f181))(命令ls常用的范例a-d182)(Linux中關于文件權限、屬性有關的數據存放在哪?e182)
- 6.2.2、復制、刪除與移動:cp、rm、mv(命令cp常用的參數abc183)(命令cp常用的范例de183,a-f184)(關于軟硬鏈接的說明,見輔助文檔)(使用cp命令注意點的總結a185)(默認情況下cp命令的目標文件的所屬用戶是誰?f183)(進行特殊權限文件的復制的處理細節g183)(關于命令rm常見的選項和參數e185)(命令rm常用的范例bc185)(關于命令rm的細節說明d185)(mv命令的選項和參數f186)(關于mv命令的使用范例a-c186)(關于mv的使用說明d186)
- 6.2.3、獲取路徑的文件名與目錄名稱(一個完整的文件名中如何獲取他的目錄名和文件名e186)
6.3、文件內容查看(各個查看文件內容的命令f186)
- 6.3.1、直接查看文件內容(cat命令常用的選項和參數a187)(cat命令用法范例b-d187)(tac命令的范例a188)(nl命令的常用選項與參數b188)(nl命令的范例c188)(關于nl命令的說明d188)
- 6.3.2、可翻頁查看(more命令的使用說明a189)(less命令的使用說明b189)
- 6.3.3、數據截取(head命令的選項和參數a190)(關于head命令的說明b190)(tail命令的選項和參數c190)(關于tail的范例d190)(如果要顯示某個文件11~20行的數據應該怎么辦?a191)(如果要顯示某個文件11~20行的數據并且顯示行號應該怎么辦?b191)
- 6.3.4、非純文本文件:od(od命令的選項和參數c191)(od命令的范例d191)(關于od命令的說明a192)(如何通過命令的方式查詢某個字符串的對照?b192)
- 6.3.5、修改文件時間或創建新文件:touch(Linux中文件的三個主要的變動時間c192)(如何通過ls命令查看三種變動時間d192)(touch命令的選項和參數a193)(不同的命令之間通過分號進行分割會如何被執行?b193)(touch命令的范例abc193,a194)(關于touch指令的使用總結b194)
6.4、文件與目錄的默認權限與隱藏權限
- 6.4.1、文件默認權限:umask(什么是umask?a195)(如何查看umask的值bc195)(文件與目錄的默認權限d195)(umask與文件和目錄默認權限的關系e195)(如何改變umask的值b196)(umask的重要性a196)(如何根據umask計算文件和目錄的權限例題c196)
- 6.4.2、文件的隱藏屬性(chattr命令的使用范圍a197)(chattr命令的選項和參數a197)(chattr命令的范例cd197)(chattr對于系統安全性的重要性e197)(lsattr命令的選項和參數f197)(lsattr命令的范例g197)(關于lsattr命令的說明h197)
- 6.4.3 文件特殊權限:SUID、SGID、SBIT(文件擁有者的執行權限欄出現s字符是什么類型的特殊權限?a198)(SUID特殊權限的特殊功能是什么?b198)(關于SUID特殊權限舉例說明c198)(SUID特殊權限的使用限制說明a199)(文件所屬組的執行權限欄出現s字符是什么類型的特殊權限?b199)(SGID特殊權限的特殊功能是什么?ce199)(關于SUID特殊權限舉例說明d199)(SBIT特殊權限的適用范圍f199)(SBIT特殊權限對于目錄的作用g199)(SBIT特殊權限的舉例說明h199)(如何設置SUID、SGID和SBIT權限設置abe200)(使用SUID、SGID和SBIT特殊權限的細節c200)(使用特殊權限的時候為什么s和t會出現大寫S和T d200)
- 6.4.4、觀察文件類型:file(如何查看文件的類型f200)(file命令的使用說明g200)
6.5、命令與文件的查找
- 6.5.1、腳本文件的查找(which命令常用的參數a201)(which命令的使用范例b201)(關于which命令的使用的細節c201)(為什么which找不到history命令?d201)
- 6.5.2、文件的查找(使用常用文件查找命令的步驟e201)(whereis命令常用的選項和參數a202)(whereis命令的使用范例b202)(為什么whereis命令的查詢速度比find命令快?c202)(locate命令的選項與參數d202)(locate命令的使用范例e202)(locate命令的查詢原理a203)(locate命令的使用限制b203)(locate命令與更新數據命令的結合使用c203)(find命令的選項與參數de203,a204,a205)(find命令的常用范例f203,bd204,b205)(關于find命令的時間參數的圖示說明g203)(什么情況下會產生沒有所屬用戶和所屬用戶組的文件?c204)(關于find中-exec選項的使用和運行原理c205)
6.6、極重要的復習,權限與命令間的關系(讓用戶能進入某目錄成為可工作目錄的基本權限是什么?d205)(用戶在某個目錄內讀取一個文件的基本權限是什么?e205)(讓用戶可以修改一個文件的基本權限是什么?f205)(讓一個用戶可以建立一個文件的基本權限是什么?a206)(讓用戶進入某個目錄并執行該目錄下的某個命令的基本權限是什么?b206)
6.7、重點回顧
6.8、本章習題(情景模擬題:關于SGID特殊權限的用途a207)(解答見輔助文檔)
7、Linux 磁盤與文件系統管理
7.1、認識Linux文件系統
- 7.1.1、磁盤組成與分區的復習(磁盤的主要組成a210)(碟片的物理組成b210)(關于磁盤文件名的說明c210)(關于磁盤分區的說明d210)
- 7.1.2、文件系統特性(為什么磁盤分區后需要進行格式化a211)(格式化對象的轉變b211)(文件系統是如何運行的c-f211)(關于索引式文件系統的圖示說明f211)(關于文件系統碎片整理的說明g211)
- 7.1.3、Linux的ext2文件系統,即inode(inode記錄文件的什么內容?a212)(數據區塊記錄文件的什么內容?b212)(ext2文件系統將inode和數據區塊規劃好之后是否會繼續變動c212)(如果文件系統高達上百GB,那么是否應該將inode和數據區塊放置在一起d212)(ext2文件系統的整體規劃e212)(ext2文件系統所支持的數據區塊大小有哪幾種?f212)(ext2文件系統不同的數據區塊對最大磁盤容量與最大單一文件容量的限制g212)(ext2文件系統格式化示意圖h212)(ext2文件系統的基本限制有哪些?a213)(inode表記錄的信息有哪些?b213)(inode表的特色a214)(inode結構示意圖b214)(關于inode表能夠記錄文件最大容量的計算c214)(超級區塊記錄的信息主要有什么?a215)(關于超級區塊的簡要說明bc215)(關于文件系統描述說明d215)(區塊對照表e215)(inode對照表f215)(dumpe2fs命令的選項和參數a216)(dumpe2fs常見的范例b216,a217)
- 7.1.4、與目錄樹的關系(Linux下的文件系統創建一個目錄會分配給該目錄什么?a217)(目錄文件的區塊記錄的信息是什么?b217)(如何查看文件的inode號碼?c217)(目錄文件是否只會占一個區塊a218)(ext2文件系統如何給一個文件分配區塊?b218)(文件的inode是否會記錄文件的文件名?c218)(為什么新增、刪除、修改文件名與目錄文件的w權限有關?cd218)(Linux讀取某個目錄下的文件的工作原理efg218)(什么是文件數據離散?a219)(如何解決文件數據離散的問題?b219)
- 7.1.5、ext2/ext3/ext4 文件的存取與日志式文件系統的功能(文件系統新建一個文件的原理步驟c219)(什么是數據存放區域?d219)(什么是元數據?e219)(元數據與實際數據存放區的數據不一致的情況舉例f219)(日志式文件系統處理文件系統元數據與實際數據存放區的數據不一致問題的原理ab220)
- 7.1.6、Linux文件系統的運行(什么Linux中的異步處理?異步處理可以解決什么問題cd220)(Linux系統上的文件系統與內存的關系e220)
- 7.1.7、掛載點的意義(關于掛載的簡要說明ab221)(關于為什么目錄【/】、【/boot】和【/home】inode相同問題的說明,見輔助文檔)
- 7.1.8、其他Linux支持的文件系統與VFS(Linux支持的常見的文件系統c221)(如何查看自己安裝的Linux支持的文件系統d221)(如何查看已加載到內存中支持的文件系統e221)(Linux內核如何管理這些可以被識別的文件系統f221)(VFS的示意圖a222)
- 7.1.9、XFS文件系統簡介(為什么Centos7將默認的文件系統從ext4轉變成xfs?b-e222)(xfs文件系統在數據的分布上主要規劃為哪三個部分?a223)(關于xfs數據區的說明b223)(關于XFS文件系統的文件系統活動登陸區的說明c223)(關于XFS文件系統的實時運行區的說明d223)(如何查看XFS文件系統的描述數據,以及相關信息的解讀a224)
7.2、文件系統的簡單操作
- 7.2.1、磁盤與目錄的容量(關于df命令的選項和參數a225)(df命令常見的范例bcd225,a226)(關于df命令讀取范圍的說明b226)(關于df命令-a選項的說明c226)(關于df命令列出的/dev/shm/目錄的說明d226)(關于du命令的選項和參數e226)(關于du命令常用的范例a227)(關于du命令的細節說明b227)
- 7.2.2、硬鏈接與符號鏈接:ln(LInux下面有哪兩種鏈接文件?d227)(關于文件名、文件內容和inode的說明a228)(關于硬鏈接原理的解釋b228)(ll命令顯示的文件信息第二欄的意義是什么?c228)(硬鏈接讀取數據的示意圖d228)(創建硬鏈接的好處e228)(關于硬鏈接是否會消耗磁盤容量的說明fg228)(硬鏈接使用時的限制a229)(符號鏈接的原理說明b229)(鏈接文件的內容說明c229)(鏈接文件大小的說明d229)(符號鏈接讀取示意圖的說明e229)(符號鏈接是否會占用內存f229)(關于ln命令的常用選項和參數a230)(關于ln命令的常見范例b230)(創建一個新的目錄時,默認的鏈接數是多少?a231)
7.3、磁盤的分區、格式化、檢驗與掛載(在系統上增加一塊磁盤需要進行哪些操作?b231)
- 7.3.1、觀察磁盤分區狀態(lsblk命令常用的選項和參數a232)(lsblk命令常見的范例bce232)(lsblk命令顯示的信息含義說明d232)(關于UUID,及即全局唯一標識的說明f232)(如何知道磁盤的分區類型a233)
- 7.3.2、磁盤分區:gdisk / fdisk(對MBR和GPT格式進行分區分別使用什么命令?b233)(gdisk命令的常見使用方式c233)(gdisk命令的使用教學d233,a234)(gdisk命令查看磁盤的分區與相關的信息的范例d233,b234)(gdisk命令增加磁盤中的分區范例a235)(partprobe命令的常見使用方式a236)(使用gdisk刪除一個分區范例b236)(使用gdisk命令需要注意的細節a237)
- 7.3.3、磁盤格式化,即創建文件系統(文件系統格式化命令是什么?a238)(mkfs.xfs命令的常用選項和參數b238)(創建xfs文件系統的范例c238,a239)(xfs中的區塊群組數為什么和CPU內核數有關?a239)(什么是磁盤陣列?b239)(給一個磁盤陣列格式化的案例分析d239)(mkfs.ext4命令常用的選項和參數a240)(mkfs.ext4命令常用的范例b240)(綜合命令mkfs還支持哪些文件系統?a241)(如何將其他文件系統改成VFAT格式的文件系統b241)
- 7.3.4、文件系統檢驗(xfs_repair命令常見的選項與參數c241)(xfs_repair命令常用的范例d241)(fsck.ext4命令的選項與參數a242)(fsck.ext4命令的范例b242)(關于xfs_repair和fsck.ext4命令的注意事項說明a243)
- 7.3.5、文件系統掛載與卸載(mount命令的選項與參數c243)(Centos如何找出文件系統實現掛載ab244)(mount命令掛載xfs/ext4/vfat等文件系統的范例c244)(umount命令的選項和參數a246)(umount命令的常見范例b246)
- 7.3.6、磁盤/文件系統參數自定義(文件是如何代表設備的?c246)(ll命令顯示設備文件信息時哪些是major哪些是minor?d246)(常見的硬件設備代碼a247)(mknod命令的選項和參數b247)(xfs_admin命令的作用是什么?d247)(xfs_admin命令的選項和參數e247)(xfs_admin命令常見的范例f247)(為什么掛載的時候要使用UUID而不直接使用設備文件名a248)(tune2fs命令常見的選項和參數b248)(tune2fs命令常用的范例c248)
7.4、設置啟動掛載
- 7.4.1、啟動掛載/etc/fstab及/etc/mtab(關于系統掛載的一些限制的說明d248)(/etc/ftab文件的內容表示的含義a-e249,ab250)(如何設置啟動掛載?c250,見輔助文檔)(關于實際文件系統掛載記錄的說明a251)(如果在修改/etc/fstab文件時數據格式輸入錯誤了,應該怎么辦?b251)
- 7.4.2、特殊設備loop掛載,鏡像文件不刻錄就掛載使用(用的少暫時先不看)
7.5、內存交換分區(swap)之建立(關于swap分區的說明a253)
- 7.5.1、使用物理分區創建內存交換分區(創建內存交換分區的幾個步驟是什么?bc253)
- 7.5.2、使用文件創建內存交換文件(之前關于特殊設備loop沒看,先放著)
7.6、文件系統的特殊觀察與操作
- 7.6.1、磁盤空間之浪費問題(關于文件大小和占用區塊的說明a255)
- 7.6.2、利用GNU的parted進行分區操作(可選內容,時間有限,暫時不看)
7.7、重點回顧
7.8、本章習題(定期回顧情景模擬題,簡答題見輔助文檔)
8、文件與文件系統的壓縮
8.1、壓縮文件的用途與技術(文件壓縮技術的作用是什么?a262)(關于文件壓縮原理的說明bc262)(什么是解壓所?d262)(什么是壓縮比e262)(壓縮和解壓的好處是什么?f262)
8.2、Linux系統常見的壓縮命令(Linux環境中常見的壓縮文件擴展名ab263)(Linux中常見的壓縮命令c263)(關于tar命令的簡介d263)
- 8.2.1、gzip,zcat/zmore/zless/zgrep(目前使用最廣泛的壓縮命令是什么?e263)(gzip的功能是什么?f263)(gzip命令的選項和參數a264)(gzip命令常用的范例b264)(gzip命令使用的細節c264)(關于gzip的-c選項和<符號的說明e264)(關于zcat/zmore/zless/zgrep的說明fg264)(如何將compress命令創建的.Z文件轉化成gzip格式的文件a265)
- 8.2.2、bzip2,bzcat/bzmore/bzless/bzgrep(bzip2命令常用的選項和參數b265)(bzip2命令常用的范例c265)
- 8.2.3、xz,xzcat/xzmore/xzless/xzgrep(xz命令常用的選項和參數d265)(xz命令常見的范例a266)
8.3、打包命令:tar(gzip、bzip2、xz命令的缺陷a266)(什么是打包命令?b266)(tar命令的功能是什么?c266)(Windows能否支持.tar.gz格式的文件?d266)(tar命令常見的選項和參數e266)(tar命令的簡單使用a267)(關于tar命令打包后的文件名命名b267)(tar命令的-f選項的使用細節c267)(tar命令解壓常用的范例d267)(關于tar命令中的-p選項的說明a268)(tar查看文件內部的文件列表的范例b268)(為什么使用tar命令打包的目錄中的文件路徑名要將根目錄“/”去掉?cd268)(關于tar命令中-P選項的使用說明e268)(tar命令解壓的常用范例f268,a269)(tar命令解壓單一文件的命令b269)(tar命令打包某個目錄但不包括這個目錄下的某個文件的范例c269)(tar命令備份比某個時刻還要新的文件a270)(什么是tarfile?b270)(什么是tarball?c270)(如何將數據備份到磁帶中d270)(系統備份范例a271)
8.4、XFS文件系統的備份與還原
- 8.4.1、XFS文件系統備份xfsdump(什么是增量備份?a272)(關于完整備份和增量備份關系示意圖及其說明b272)(使用xfsdump命令時要注意的限制c272)(xfsdump命令常用的選項和參數d272)(xfsdump命令備份完整的文件系統的范例a273)(xfsdump命令進行增量備份的范例b273)
- 8.4.2、XFS文件系統還原xfsrestore(xfsrestore命令常用的選項和參數a275)(xfsrestore查看xfsdump命令備份的數據內容b275)(如何恢復xfsdump備份的文件?a276)(xfsrestore恢復level 0文件系統的范例b276)(如何恢復增量備份數據?c276)(恢復增量備份數據的范例d276)(還原備份文件中的部分文件,通過交互的方式e276)
8.5、光盤寫入工具(命令行模式下如何進行刻錄a277)(用的太少了,碰到了在看)
- 8.5.1、mkdisofs:建立鏡像文件(mkisofs常見的選項和參數a278)(處理鏡像文件的范例)
- 8.5.2、cdrecord:光盤刻錄工具
8.6、其他常見的壓縮與備份工具
- 8.6.1、dd(dd命令最好用的功能是什么?a282)(dd命令常用的選項和參數b282)(dd命令常用的范例c282,b283,a284)(使用dd命令的注意點a283)
- 8.6.2、cpio(以后在看)
8.7、重點回顧
8.8、本章習題(都是情景題,關于如何備份和恢復xfs文件)
9、vim程序編輯器
9.1、vi與vim(什么是純文本文件?ab290)(Linux中有哪些常見的命令行模式下的文本編輯器?c290)(學習vi的原因d290)(什么是vim?e290)(什么時候會使用到vim?a291)
9.2、vi的使用(vi分為哪三種模式?b291)(vi的三種模式的作用分別是什么?c-e291)(vi的三種模式的關系圖fg291)
- 9.2.1、簡易執行范例(vi的常用范例a-d292,a293)(如果發現文件權限有問題,能不能強制寫入?b293)
- 9.2.2、按鍵說明(一般命令模式c293)(一般命令模式切換到編輯模式的按鍵說明a295)(一般命令模式切換到命令行模式的按鍵說明b295)(vi中關于數字的說明a296)(如何解決容易忘記vi命令的問題?b296)
- 9.2.3、一個案例練習(定期回顧就行)
- 9.2.4、vim的緩存、恢復與打開時的警告信息(vim進行數據恢復的原理是什么?a297)(關于vim數據恢復的練習b297)
9.3、vim的額外功能(使用vim的另一個理由a299)(關于vim界面示意圖的說明b299)
- 9.3.1、可視區塊,即Visual Block(關于可視區塊的例子a300)
- 9.3.2、多文件編輯(多文件編輯的常用按鍵a301)(多文件編輯的案例b301)
- 9.3.3、多窗口功能(關于多窗口功能的說明a302)(多窗口功能的常用按鍵b302)
- 9.3.4、vim的關鍵詞補全功能(vim關鍵字補全功能的按鍵a303)(vim關鍵字補全的使用范例b303)
- 9.3.5、vim環境設置與記錄:~/.vimrc、~/viminfo(關于.viminfo文件的說明a304)(關于vim環境設置的相關說明b304)(什么是縮進?c304)(vim常用的環境設置參數d304)(關于如何配置vim操作環境的說明a305)
- 9.3.6、vim常用命令示意圖
9.4、其他vim使用注意事項
- 9.4.1、中文編碼的問題(為什么vim有時候無法正常顯示中文?a306)(如果顯示出現亂碼了該怎么辦?b306)(如果需要打開的文件采用GBK編碼,但終端并不是這種編碼,此時應該怎么辦?c306)
- 9.4.2、DOS與linux的換行符(DOS建立的文件中的換行符與Linux中的換行符有什么區別?d306)(為什么換行符對于Linux影響很大?e306)(如果出現換行符不是Linux支持的LF該怎么辦?f306)(dox2unix的常見選項和參數a307)
- 9.4.3、語系編碼轉換(如何進行語系編碼的轉換c307)(如何將繁體中文utf-8轉換成簡體中文utf-8 a308)
9.5、重點回顧
9.6、本章練習(簡答題見輔助文檔)
10、認識與學習BASH
10.1、認識BASH這個Shell
- 10.1.1、硬件、內核與Shell(如果要在計算機上播放音樂,計算機需要什么東西?a311)(硬件如何識別用戶發出的命令?b311)(用戶、內核與硬件三者的相關性c311)(關于操作系統的回顧d311)(關于殼程序的舉例說明a312)(什么是殼程序?官方一點兒的說明b312)
- 10.1.2、為何要學命令行模式的Shell?(學習Shell的原因cd312,a313)
- 10.1.3、系統的合法Shell與/etc/shells功能(關于不同Shell版本的簡介b313)(如何查詢Centos7.x中我們可以使用的Shell?c313)
- 10.1.4、Bash shell的功能(Bash的優點a-c314,a-c315)
- 10.1.5、查詢命令是否為Bash shell的內置命令:type(type命令的常見選項和參數d315)(type命令的常見范例e315)
- 10.1.6、命令的執行與快速編輯按鈕(命令太長對反斜杠’'的轉義說明a316)(命令行模式中的一些快捷鍵b316)(關于用戶使用shell的流程總結c316)
10.2、Shell的變量功能
- 10.2.1、什么是變量?(什么是變量?a317,a318)(使用變量的好處,舉例說明bcf317)(程序、變量與用戶之間的關系,舉例說明de317)(關于影響bash環境操作的變量的說明g317)(關于變量應用于腳本程序設計的方便性的說明h317)(如何顯示變量?b318)
- 10.2.2、變量的使用與設置:echo、變量設置規則、unset(echo命令的使用范例c318)(如何給變量賦值?d318)(bash中,若一個變量未被設置,他的默認內容是什么?e318,a319)(設置變量與取消設置變量的規則b319)(常見的設置變量的范例c319,bd320)(什么是子進程?以及變量與子進程和父進程之間的關系a320)(為什么鳥哥建議使用$(comman)來嵌套命令?c320)(如果經常需要進入一個很深的目錄,如何使訪問更加的簡便?a321)
- 10.2.3、環境變量的功能(環境變量總的來說有哪些作用?a322)(如何查看shell環境中有多少默認的環境變量?b322)(env命令的常用范例c322)(各個常見的環境變量各有哪些功能?d322)(如何查看所有的變量a323)(set命令的使用范例b323)(關于Linux中全大寫字母的變量的說明c323)(關于環境變量和普通變量的區別,見輔助文檔)(關于變量PS1的說明d323)(設置PS1值的例子a324)(關于$變量的說明b324)(關于 ? 變量的說明c324)(關于硬件與內核等級有關的變量的說明d324)(bash進程運行的基本原理a325)(進程與變量之間的關系b325)(如何將自定義變量變成環境變量c325)(如何顯示所有的環境變量d325)
- 10.2.4、影響顯示結果的語系變量,即locale(如何顯示出所有Linux支持的語系e325)(如何自定義語系編碼?a326)(為什么終端界面在設置中文語系之后會出現亂碼?b326)(Linux中的語系文件都放置在哪個兒?cd326)(為什么Windows下建立一個文件在Linux中打開變成了亂碼?e326)
- 10.2.5、變量的有效范圍(關于變量的使用范圍的說明ab327)(為什么環境變量可以被子進程引用?c327)(環境變量和bash的操作環境變量的區別d327)(關于環境變量和自定義變量的補充說明,見輔助文檔)
- 10.2.6、變量鍵盤讀取、數組與聲明:read、array、declare(什么命令可以讀取來自鍵盤輸入的數據?a328)(read命令常用的選項和參數b328)(read命令常用的范例c328)(declare命令的常用選項和參數d328)(declare命令常見的范例eg328)(bash中變量的幾個基本定義f328)(如果將變量設置為只讀,如果要刪除這個變量應該怎么辦?h329)(bash中如何來設置數組a329)(使用數組的范例b329)
- 10.2.7、與文件系統及程序的限制關系:ulimit(bash如何限制用戶的某些系統資源c329)(ulimit命令的常見選項和參數d329)(ulimit命令常見的范例e329)(如何限制用戶可以創建的文件的大小a330)
- 10.2.8、變量內容的刪除、取代與替換(可選內容,時間緊,以后有時間再看)
10.3、命令別名與歷史命令
- 10.3.1、命令別名設置:alias、unalias(alias設置別名的語法規則ab334)(如何知道目前有哪些命令別名?c334)(如何取消命令別名?d334)(命令別名與變量有什么區別?a335)
- 10.3.2、歷史命令:history(history命令的選項和參數b335)(history命令常見的范例c335)(歷史命令的讀取與記錄的原理是什么?d335)(利用歷史命令信息來執行歷史命令的常見范例a336)(關于history命令的安全性問題的說明b336)(關于同一個帳號同時被多次登陸history的寫入問題的說明c336)(關于命令history無法記錄時間的問題說明d336)
10.4、Bash shell的操作環境
- 10.4.1、路徑與命令查找順序(同名命令的執行順序的總結a337)(如何查詢命令的執行順序b337)
- 10.4.2、bash的登陸與歡迎信息:/etc/issue、/etc/motd(關于儲存終端登陸信息的/etc/issue文件中的內容的說明,以及和PS1變量的關系說明c337)(更改終端登錄畫面的例題a338)(關于/etc/issue.net文件的說明b338)(關于/etc/motd文件的說明c338)
- 10.4.3、bash的環境變量文件(為什么一進入bash就會加載一些有用的變量?d338)(如何將自定義的變量設置成一進入bash就自動啟動?a339)(什么是login shell?什么是non-login shell?b339)(login shell啟動時會讀取哪些配置文件c339)(關于/etc/profile文件的說明d339)(關于~/.bash_profile文件的說明a340)(login shell的讀取流程圖示和總結b340)(source命令的使用范例,包括不注銷帳號即可讓個人配置文件生效a341)(如果個人的家目錄中的~/.bashrc不見了,命令行模式提示會變成什么樣,如何進行恢復?c341)(關于/etc/man_db.conf這個配置文件的說明a342)(關于~/.bash_history配置文件的說明b342)(關于~/bash_logout配置文件的說明c342)
- 10.4.4、終端的環境設置:stty、set(終端環境中輸入錯誤信息會有提示音是因為什么?d342)(stty命令常用的選項和參數e342)(stty命令常用的范例f342)(如何通過命令stty來設置終端的快捷鍵?a343)(因為習慣問題如果在vim中輸入了ctrl + s之后vim不能動了,應該怎么辦?b343)(set命令常用的選項和參數c343)(set命令常見的范例d343)(關于bash終端環境使用上的一些建議a344)(bash終端環境中快捷鍵總結b344)
- 10.4.5、通配符與特殊符號(bash操作環境下的通配符c344)(使用通配符的一些案例d344)(bash中的特殊符號的總結e344)(關于文件命名需要注意的點a345)
10.5、數據流重定向(概括的說什么是數據流重定向b345)
- 10.5.1、什么是數據流重定向(命令執行過程的數據傳輸情況c345)(什么是標準輸出?a346)(什么是標準錯誤輸出?b346)(數據重定向中使用的特殊字符有哪些?c346)(數據重定向的常見范例di346,abd347)(關于標準輸出重定向‘>‘的說明e346)(關于標準輸出重定向’>>'的說明f346)(關于標準錯誤輸出重定向’2>'和’2>>'的說明g346)(對標準輸出重定向與標準錯誤輸出重定向的小總結h346)(關于標準輸入重定向‘<'的說明c347)(關于標準輸入重定向‘<<'的說明a348)(為何要使用命令輸出重定向b348)(數據重定向中關于‘1>&2’和’2>&1’的說明,見輔助文檔)(關于2>&1和1>&2的例題c348)
- 10.5.2、命令執行的判斷根據:;、&&、||(關于不考慮命令相關性的連續命令執行的說明d348)(關于使用&&連接兩個相關命令的執行說明a349)(關于使用||連接兩個相關命令執行的說明b349)(關于&&和||連接相關命令的范例c349)(關于&&和||連接相關命令的例題及對例題的總結a350)
10.6、管道命令,即pipe(如果要將某個命令進行某種處理之后再輸出應該怎么辦?b350)(如何翻頁查看某個目錄中有哪些文件?a351)(關于管道命令能夠處理的信息的說明b351)(管道命令的處理示意圖c351)(什么是管道命令?d351)(如果要將標準錯誤輸出作為下一個管道命令的標準輸入應該怎么辦?e351)
- 10.6.1、選取命令:cut、grep(cut命令的作用f351,a352)(cut命令常用的選項和參數g351)(cut命令常見的范例h351)(cut命令的缺點b352)(grep命令作用ce352)(grep命名常用的選項和參數d352)
- 10.6.2、排序命令:sort、wc、uniq(sort命令的簡述a353)(sort命令常用的選項和參數b353)(sort命令常見的范例c353)(uniq命令常見的選項和參數d353)(uniq命令常用的范例e353)(wc命令的常見選項和參數a354)(wc命令的常用范例b354)
- 10.6.3、雙向重定向:tee(tee命令作用的簡述c354)(tee命令的選項和參數d354)
- 10.6.4、字符轉換命令:tr、col、join、paste、expand(tr命令的作用a355)(tr命令常用的選項和參數b355)(tr命令常用的范例c355)(tr命令處理dos文件和unix文件格式轉換時的巧妙之處d355)(col命令常用的選項和參數e355)(col命令常用的范例f355)(join命令的作用簡述g355)(join命令常用的選項和參數a356)(join命令常見的范例b356)(join解決兩個文件相關性的巧妙之處以及注意事項c356)(paste命令作用的簡述d356)(paste命令常用的選項和參數e356)(paste命令常見的范例a357)(expand命令作用簡述b357)(expand命令常用的選項與參數c357)(expand命令常見的范例de357)
- 10.6.5、劃分命令:split(split命令作用簡述f357)(split命令常用的選項與參數g357)(split命令常見的范例h357)(split命令在發送有限制發送大小的郵件時的巧妙之處a358)
- 10.6.6、參數代換:xargs(簡述xargs命令的作用b358)(xargs命令常見的選項與參數)(xargs命令常用的范例d358,a359)(xargs命令的巧妙之處b359)
- 10.6.7、關于減號【-】的用途(減號的常見范例c359)
10.7、重點回顧
10.8、本章習題(情景模擬題,關于圖形界面注銷用戶無法執行.bash_logout文件中命令的說明,見輔助文檔)
11、正則表達式與文件格式化處理
11.1、開始之前:什么是正則表達式(什么是正則表達式?a-c363)(正則表達式對于系統管理員的好處d363)(如何攔截廣告郵件a364)(正則表達式的分類b364)(正則表達式與bash的通配符之間的區別c364)
11.2、基礎的正則表達式
- 11.2.1、語系對正則表達式的影響(為什么語系會對正則表達式的輸出結果產生影響?a365)(為了避免編碼造成的英文與數字選取問題的而生的特殊符號b365)
- 11.2.2、grep的一些高級選項(grep常見的高級選項和參數c365)(grep常用的高級范例a366)(grep的作用b366)
- 11.2.3、基礎正則表達式練習(基礎正則表示是常用范例和特殊符號說明a367)
- 11.2.4、基礎正則表達式字符集合,即characters(基礎正則表達式的特殊字符集合a371)(正則表達式中的"*“與通配符中的”*"有什么區別?a372)(ls命令查找文件名與ls及grep搭配查找文件的區別a373)(ls搭配grep查找某個文件下所有鏈接文件的例題b373)
- 11.2.5、sed工具(sed管道命令功能的簡介c373)(sed命令常見的選項和參數d373)(sed命令常用的范例)
11.3、擴展正則表達式(關于擴展正則表達式的說明,即命令egerp與命令【grep -E】376)
11.4、文件的格式化與相關處理
- 11.4.1、格式化打印:printf(printf命令的選項和參數a377)(printf命令常見的范例a378)(printf命令的巧妙之處a379)
- 11.4.2、awk:好用的數據處理工具(awk命令通常運行的模式是什么?b379)(awk命令應用的例子c379)(awk的處理流程是怎樣的?d379)(awk命令中的內置變量和內置變量的查看a380)(關于awk命令中的單引號和雙引號的說明b380)(awk命令中條件類型的邏輯運算符c380)(帶有條件的awk命令的范例d380)(關于awk命令的重要事項說明a381)
- 11.4.3、文本比對工具(什么時候會用到文件的比對?b381)(diff命令作用的簡述和適用的范圍a382)(diff命令的常見選項與參數b382)(diff命令常用的范例ce382)(diff命令的注意事項d382)(cmp命令的作用的簡述、適用范圍和與diff命令的比較f382)(cmp命令常見的選項與參數g382)(cmp命令常用的范例h382)(如何進行文件的升級?a383)(關于patch命令的說明,學習完第21章后,再回過頭來看看)
- 11.4.4、文件打印設置:pr(pr命令的簡單范例a384)
11.5、重點回顧
11.6、本章習題(情景模擬題定期回顧)(簡答題見輔助文檔)
12、學習shell腳本
12.1、什么是shell腳本(什么是shell腳本ac388)(shell腳本的功能b388)
- 12.1.1、為什么要學習shell腳本(學習shell的好處de388,a-d389)
- 12.1.2、第一個腳本的編寫與執行(shell腳本的編寫需要注意的事項e389)(如何執行shell腳本文件a390)(編寫一個shell腳本應該包括哪些內容?b390)
- 12.1.3、建立shell腳本的良好編寫習慣(關于shell腳本開頭應該編寫的內容以及編寫的習慣a391)
12.2、簡單的shell腳本練習
- 12.2.1、簡單范例(交互式腳本,變量內容由用戶決定a392,見輔助文檔)(隨日期變化,利用date創建文件b392,見輔助文檔)(數值運算,簡單的加減乘除a393,見輔助文檔)(關于兩種計算式給變量賦值方法的說明b393)(數值運算,通過bc計算Pi,a394,見輔助文檔)
- 12.2.2、腳本執行方法的差異,即source、sh script、./script的差異(關于直接執行的方式來執行腳本的說明b394)(直接執行方式的圖示說明ab395)(關于利用source執行腳本的說明cd395)(關于使用source命令運行shell腳本的時候,腳本最后【exit 0】語句的說明,見輔助文檔)
12.3、善用判斷式
- 12.3.1、利用test命令的測試功能(test命令的參數表a396)(關于test命令的腳本范例a397,見輔助文檔)
- 12.3.2、利用判斷符號[](中括號作為判斷符號的舉例和語法說明b397)(關于中括號作為判斷符號的范例a398,見輔助文檔)
- 12.3.3、shell腳本的默認變量,即$1、$2……(腳本針對后面有參數的情況設置了哪些默認變量a399)(關于腳本中的默認變量的使用范例b399,見輔助文檔)(關于shift向右偏移變量號碼的范例說明a400,見輔助文檔)
12.4、條件判斷式
- 12.4.1、利用if…then(單層、簡單條件判斷式的語法a401)(多重、復雜條件判斷式的語法b401)(多重、復雜條件判斷式的范例a402,見輔助文檔)(多重、復雜條件判斷式的較復雜的范例a404,見輔助文檔)
- 12.4.2、利用case…esac判斷(case…esac語句的語法的說明a405,a406)(case…esac語句的范例,見輔助文檔)
- 12.4.3、利用function功能(什么是腳本中的函數,其功能是什么?b406)(腳本中使用函數的語法c406)(關于腳本中函數的范例d406,見輔助文檔)(關于函數中的$0、$1…變量與腳本中的$0、$1…變量的說明a407)(關于函數中的$0、$1…變量的使用范例,見輔助文檔)
12.5、循環,即loop
- 12.5.1、while do down、until do done,即不定循環(不定循環常見的兩種語法ab408)(while不定循環與until不定循環的使用范例c408,ab409,見輔助文檔)
- 12.5.2、for…do…done,即固定循環(for…do…done循環的語法c409)(for…do…done循環的使用范例ab410,c411,見輔助文檔)(for…do…done中如何使用遍歷數字1到100 c410,ab411)
- 12.5.3、for…do…done的數值處理(for…do…done的另一種語法格式d411)(for…do…done的數值處理的使用范例a412,見輔助文檔)
- 12.5.4、搭配隨機數與數組的實驗(隨機數與數組在腳本中的使用范例bc412,見輔助文檔)
12.6、shell腳本的跟蹤與調試(sh命令用于debug的選項和參數a413)(sh命令用來debug的范例b413)
12.7、重點回顧
12.8、本章習題(見輔助文檔)
13、Linux帳號管理與ACL權限設置
13.1、Linux的帳號與用戶組
- 13.1.1、用戶標示符:UID與GID(Linux主機如何識別帳號名稱?a418)(帳號名稱存儲在哪個文件中?b418)(每個登陸的用戶有幾種ID?c418)(文件是如何判別它的擁有者與用戶組的?d418)(亂改/etc/passwd中的一般用戶ID對其擁有的文件的影響的范例e418)
- 13.1.2、用戶帳號(用戶如何登陸主機并獲得shell工作環境a419)(用戶輸入完密碼之后系統會做哪些工作?b419)(關于/etc/passwd的文件結構說明c419)(關于/etc/passwd文件每一行內容的說明d419)(關于Linux對于UID的限制的說明a420)(關于/etc/shadow文件每一行內容的說明a421)(關于/etc/shadow文件內容的舉例說明a422)(關于需要處理/etc/shadow文件情況的舉例a423)(如何查詢/etc/shadow文件使用哪種加密機制?b423)
- 13.1.3、關于用戶組:有效與初始用戶組,groups,newgr(關于/etc/group文件每一行內容的說明c423)(UID、GID和密碼之間的關系示意圖ab424)(關于新版本Linux中的某些用戶不會出現在該用戶對應的初始用戶群組的說明c424,a425)(/etc/passwd文件中的第四欄GID,記錄的是有效用戶組還是初始用戶組d424)(創建一個新的文件,文件所屬的用戶組是初始用戶組還是有效用戶組?b425)(如何查看當前用戶所屬的用戶組,如果有多個,哪個是有效用戶組?c425)(如何切換用戶的有效用戶組d425)(newgrp命令的限制e425)(newgrp命令的使用范例f425)(newgrp命令的工作原理gh425)(如何添加一個用戶到用戶組中a426)(關于/etc/gshadow文件每一行的內容說明b426)(什么是用戶組管理員?c426)
13.2、帳號管理
- 13.2.1、新增與刪除用戶:useradd、相關配置文件、passwd、usermod、userdel(如何創建一個新的用戶d426)(useradd命令的常用選項和參數e426)(useradd命令常用的范例ade427)(CentOS中使用useradd命令創建新用戶的默認值是什么?bc427)(為什么創建系統帳號時不會主動建立家目錄?f427)(使用useradd命令創建新用戶要修改哪些文件?a428)(如何查看useradd命令的默認值b428)(關于命令useradd使用的默認值的說明c428)(UID與GID的密碼參數記錄在哪個文件?a429)(關于/etc/login.defs文件的內容說明b429,該文件的內容見輔助文檔)(useradd創建一個用戶至少會參考哪些文件和目錄a430)(剛使用useradd創建的新用戶能不能登陸b430)(passwd命令常見的選項和參數c430)(passwd命令常見的范例de430,fg431,a432)(Linux中的PAM模塊對密碼有哪些規范?a431)(root設置新密碼與一般用戶設置新密碼的區別b431)(為什么一般用戶修改密碼會如此麻煩?c431)(PAM管理密碼的機制存放在哪個文件中?d431)(設置密碼最好遵循的原則e431)(更詳細的密碼參數顯示命令chage常見的選項和參數b432)(chage命令的常用范例cd432)(usermod命令功能簡介a433)(usermod命令常見的選項和參數b433)(usermod命令常見的范例c433)(userdel命令刪除的用戶數據文件有哪些?a434)(userdel命令的選項和參數b434)(userdel命令的常見的范例c434)(關于使用userdel命令的注意事項d434)(如果要暫時凍結某個帳號而不是將他刪除應該怎么辦?e434)
- 13.2.2、用戶功能(關于命令id的功能的簡述f434)(id命令的使用范例g434)(finger命令的選項和參數a435)(finger命令常用的范例bd435)(關于finger命令列出的信息含義的說明c435)(chfn命令常用的選項和參數e435)(chfn命令常用的范例a436)
- 13.2.3、新增與刪除用戶組(groupadd命令的選項與參數a437)(groupadd命令的常用范例b437)(groupmod命令的選項與參數c437)(groupmod命令的常用范例d437)(刪除用戶組命令groupdel的常用范例e437)(為什么有的用戶組能夠被groupdel命令刪除,有的不能?f437)(什么是用戶組管理員?什么時候會用到用戶組管理員?用戶組管理員的功能是什么?怎么創建一個用戶組管理員?g437)(gpasswd命令常用的選項和參數a438)(gpasswd命令常用的范例b438)
- 13.2.4、帳號管理實例(實戰操作任務一a438)(實戰操作任務二a439,d442)
- 13.2.5、使用外部身份認證系統(以后看服務器篇章的時候要有印象)
13.3、主機的詳細權限規劃:ACL的使用
- 13.3.1、什么是ACL與如何支持啟動ACL(什么是ACL?ACL的功能是什么?a440)(ACL主要針對哪些方面來控制權限?b440)(如何啟動ACL c440)(如何查看文件系統是否支持ACL?d440)
- 13.3.2、ACL的設置技巧:getfacl、setfacl(如何設置與查看ACL a441)(setfacl的選項與參數b441)(setfacl的使用范例c441,ab442,a443,a444)(getfacl的選項和參數d441)(getfacl的常用范例e441)(ACL權限中的mask是什么?c442)
13.4、用戶身份的切換(為什么Linux系統要進行用戶身份的切換?b444)(如何讓一般用戶轉變身份為日root用戶a445)
- 13.4.1、su(su命令的常用選項與參數b445)(su命令常用的范例d445,ab446)(命令【su】和命令【su -】是否有區別?c445)(su命令的用法總結c446)(su命令的缺陷d446)
- 13.4.2、sudo(sudo命令的功能簡述e446)(是不是所有的人默認都能使用sudo?f446)(哪個文件會記錄使用sudo命令用戶?f446)(系統一開始默認可以執行sudo的用戶是誰?a447)(sudo命令常用的選項與參數b447)(sudo命令常用的范例c447)(sudo命令執行的基本原理d447)(為什么要使用visudo命令去修改/etc/sudoers文件,而最好不要直接進入文件進行修改e447)(visudo命令的工作原理b448)(如何讓某個一般用戶可以使用root的任何命令,且可以切換到任何用戶?ac448)(通過wheel用戶組讓一群用戶使用root的任何命令d448)(為什么在安裝Centos時將創建的一般用戶鉤上【將此用戶設置為管理員】選項可以讓該用戶使用sudo命令?a449)(通過wheel用戶組及免密碼功能讓一群用戶使用root的任何命令b449)(如何讓某個sudoer用戶只能使用部分命令c449)(visudo中可以支持哪些別名a450)(如何通過帳號別名的方式將多個用戶加入到sudo列表中?b450)(關于sudo時間間隔的說明c450)(使用一般用戶自己的密碼切換到root身份的變態操作d450)(關于當用戶的sudo權限重復設置時的問題以及對用戶能夠使用sudo執行的命令限制的設置問題的說明,見輔助文檔)
13.5、用戶的特殊shell與PAM模塊
- 13.5.1、特殊的shell,/sbin/nologin(使用/sbin/nologin這個shell無法正常登陸,這里的無法正常登陸是指登陸什么?abc451)(如何給使用/sbin/nologin shell的用戶嘗試登陸時給予提示信息d451)
- 13.5.2、PAM模塊簡介(什么是PAM?e451)(PAM模塊的應用舉例a452)
- 13.5.3、PAM模塊設置語法(passwd命令調用PAM模塊的執行原理b452)(passwd命令調用PAM模塊時,PAM使用的配置文件【/etc/pam.d/passwd】的內容說明c452,a454)
- 13.5.4、常用模塊簡介(和PAM有關的文件存放的目錄有哪些(包括每個程序的配置文件和PAM實際放置的目錄等)?a455)(PAM機制中的常用模塊簡介b455)(login的PAM驗證機制流程c455)(什么是ssh?,見輔助文檔)(為什么root無法以telnet直接登陸系統,但是卻能夠使用ssh直接登陸?a456)
- 13.5.5、其他相關文件(關于文件【/etc/security/limits.conf】的使用說明)(如果發生了無法登錄或者一些無法預期的錯誤時可以查看哪些pam日志文件a457)
13.6、Linux主機上的用戶信息傳遞
- 13.6.1、查詢用戶:w、who、last、lastlog(命令w和命令who的使用范例b457)(lastlog命令的使用范例a458)
- 13.6.2、用戶對談:write、mesg、wall(如何與其他正在使用主機的用戶交談b458)(write命令的使用范例c458)(屏蔽和允許write發送的信息的命令mesg的使用范例)(如何給在線的所有用戶群發消息e458)
- 13.6.3、用戶郵箱:mail(使用mail命令給本機上的用戶發送郵件的范例a459)(如何避免在使用mail命令的過程中打錯字的問題b459)(使用mail命令查看郵件的范例c459)
13.7、Centos 7環境下大量創建帳號的方法
- 13.7.1、一些帳號相關的檢查工具(pwck命令的功能簡述a460)(pwck命令的使用范例b460)(關于pwconv命令的簡介和功能a461)(關于pwunconv命令的簡介和功能b461)(關于chpasswd命令的簡介和功能c461)
- 13.7.2、大量創建帳號模板,適用passwd --stdin選項(批量增加用戶的腳本模板d461,見輔助文檔)
13.8、重點回顧
13.9、本章習題(情景模擬題a463)(簡單題,見輔助文檔)
14、磁盤配額與高級文件管理
14.1、磁盤配額的應用與實踐
- 14.1.1、什么是磁盤配額(什么是磁盤配額?abf466)(關于磁盤配額的舉例說明c466)(針對網絡服務來說,磁盤配額有哪幾種情況?d466)(針對Linux主機的磁盤配額有哪幾種情況e466)(關于xfs磁盤配額的特別之處說明g466)(磁盤配額的使用限制h466)(針對xfs文件系統磁盤配額的限制選項分為哪幾個部分,即可以從哪幾個方面進行限制?a467)(關于限制值soft與hard以及grace time相關性的圖示說明ab468)
- 14.1.2、一個xfs文件系統的磁盤配額實踐范例(該小節只是準備工作)
- 14.1.3、實踐磁盤配額流程-1:文件系統的支持與查看(進行磁盤配額的目錄的限制a469)(如何查看某個目錄使用的文件系統是什么?b469)(如何啟動xfs文件系統的磁盤配額功能?c469)(關于在文件【/etc/fstab】中配置xfs文件系統磁盤配額的選項說明e469)
- 14.1.4、實踐磁盤配額流程-2:查看磁盤配額報告數據(關于磁盤配額命令xfs_quota的常用選項和參數1 f469)(關于磁盤配額命令xfs_quota的常用范例1 a470)
- 14.1.5、實踐磁盤配額流程-3:限制值設置方式(關于磁盤配額命令xfs_quota的常用選項和參數2 a471)(關于磁盤配額命令xfs_quota的常用范例2 b471)
- 14.1.6、實踐磁盤配額流程-4:project的限制,針對非掛載點目錄(步驟一:修改文件【/etc/fstab】內的文件系統支持參數a472)(步驟二:針對要磁盤配額的目錄規范其選項名稱與選項標示符)(步驟三:實際設置規范與測試a473)
- 14.1.7、xfs磁盤配額的管理與額外命令對照表(xfs_quota命令的其他內置命令b473)(xfs_quota命令的其他內置命令的使用范例b473)(xfs文件系統與ext文件系統關于磁盤配額的參考命令與配置文件對照表a474)
- 14.1.8、不修改既有系統的磁盤配額實例(如何將隸屬兩個不同文件系統的文件進行磁盤配額的限制,比如某個用戶對于兩個隸屬不同文件系統的兩個目錄的使用額度一共不超過多少a475)
14.2、軟件磁盤陣列,即software RAID
- 14.2.1、什么是RAID(什么是磁盤陣列以及它的功能是什么?b475)(磁盤陣列的級別與功能的關系c475)(關于幾種基本的磁盤陣列級別的說明d475)(為什么目前存儲設備廠商推薦使用的磁盤陣列級別為RAID1+0 a477)(關于磁盤陣列等級RAID 5的說明,見輔助文檔)(關于熱備份磁盤的說明a478)(使用磁盤陣列的好處有哪些?b478)(各個磁盤陣列等級的匯總說明c478)
- 14.2.2、硬件RAID,軟件RAID(關于硬件磁盤陣列的說明a479)(關于軟件磁盤陣列的說明b479)(關于Centos提供的軟件磁盤陣列mdadm軟件的說明c479)(關于硬件磁盤陣列與軟件磁盤陣列在Linux中的設備文件名的相關說明d479)
- 14.2.3、軟件磁盤陣列的設置(軟件磁盤陣列命令mdadm的常用選項和參數e479)(創建一個RAID 5級別的軟件磁盤陣列并格式化與掛載使用案例a480,ab481,見輔助文檔)
- 14.2.4、模擬RAID錯誤的恢復模式(mdadm命令關于恢復軟件磁盤陣列的常用選項與參數a482)(模擬軟件磁盤陣列出錯并恢復的案例b482,見輔助文檔)
- 14.2.5、開機自動啟動RAID并自動掛載(設置開機自動啟動RAID并自動掛載a483,見輔助文檔)
- 14.2.6、關閉軟件RAID(如何關閉RAID?a484,見輔助文檔)
14.3、邏輯卷管理器,即Logical Volume Manager
- 14.3.1、什么是LVM:PV、PE、VG、LV的意義(什么是LVM?ae485)(關于物理卷的相關說明b485)(關于卷組的說明c485)(關于物理擴展塊的說明d485)(關于邏輯卷的說明f485)(LVM可以彈性修改文件系統容量的原理g485)(創建LV并將其格式化掛載的實踐流程圖a486)(當數據寫入LV的時候,LV是如何將數據寫入到磁盤的?b486)
- 14.3.2、LVM實踐流程(如何創建一個LV并掛載使用?c486,見輔助文檔)
- 14.3.3、放大LV容量(放大文件系統容量的流程是什么?a490)(目前的Linux環境下,哪些文件系統可以放大容量,哪些可以縮小容量?b490,a492)(放大文件系統的本質是什么?c490)(放大LV容量的范例d490,見輔助文檔)
- 14.3.4、使用LVM thin Volume讓LVM動態自動調整磁盤使用率(什么是磁盤容量存儲池?,即LVM thin Volume b492)(磁盤容量存儲池的范例c492,見輔助文檔)
- 14.3.5、LVM的LV磁盤快照(什么是LV磁盤快照?a493)(使用LVM快照的好處b494)(創建LV快照的基本流程c494)(創建LV快照并進行數據恢復范例d494,b495,見輔助文檔)(使用快照功能的注意點a495)(快照功能作為測試數據,原系統作為備份數據的妙用a496)
- 14.3.6、LVM相關命令集合與LVM的關閉(LVM的相關命令總結b496)(刪除LVM的流程a497)(刪除LVM的范例b497,見輔助文檔)
14.4、重點回顧
14.5、本章習題(情景模擬題a498,定期回顧,關于如何在軟件磁盤陣列上使用LVM)(簡答題,見輔助文檔)
15、計劃任務,即crontab
15.1、什么是計劃任務
- 15.1.1、Linux計劃任務的種類:at、cron(有哪兩種常見的計劃任務?a501)(關于at命令的簡述b501)(關于crontab命令的簡述c501)
- 15.1.2、CentOS Linux系統常見的例行性工作(Linux系統常見的例行性任務有哪些?d501)
15.2、僅執行一次的計劃任務
- 15.2.1、atd的啟動與at運行的方式(如何手動啟動atd服務?a502)(產生任務的方式是怎么執行的?a503)(為什么不能讓所有人都可以執行at計劃任務?b503)(如何實現對at命令的使用限制?c503)(添加了文件【/etc/at.allow】和文件【/etc/at.deny】之后,at的工作情況是怎么樣的?d503)
- 15.2.2、實際運行單一計劃任務(at命令的基本語法規則e503)(at命令的常見的范例a504)(關于at命令的一些使用細節b504)(關于at命令的后臺執行功能的簡述c504)(atq命令與atrm命令的使用范例a505)(關于batch命令的簡單說明b505)(關于任務負載的簡要說明c505)(batch命令的范例c505)(系統檢查at命令和batch命令設置的任務的最小時間單位是什么?a506)
15.3、循環執行的計劃任務(循環執行計劃任務是由哪個系統服務來控制的f506)
- 15.3.1、用戶的設置(用戶建立循環型計劃任務時使用的命令是什么?b506)(對于crontab命令的限制文件有哪些?c506)(關于crontab命令建立計劃任務的原理de506)(crontab命令的常用選項和參數a507)(crontab命令的使用范例ade507,abc508)(使用crontab命令通過vi來編輯任務,任務的格式是怎樣的?bc507)(使用crontab命令通過vi來編輯任務,任務的格式可以使用哪些特殊字符,這些字符表示什么含義?c507)(使用crontab命令的注意細節e506,a508)
- 15.3.2、系統的配置文件:/etc/crontab、/etc/cron.d/*(如果想要執行的例行性任務應該怎么辦?d508)(crond這個服務的最低檢測限制是什么?e508)(關于修改完文件【/etc/crontab】沒有及時寫回磁盤導致任務可能不會馬上生效,這是應該怎么辦?f508)(關于文件【/etc/crontab】內容的說明g508)(crond服務讀取的配置文件有哪些?a509)(關于目錄【/etc/cron.d】內容的說明b509)(如何設置一個系統例行性任務讓其在每小時的第一分鐘到第五分鐘內的任意時間執行?a510)(對于設置例行性計劃任務的總結b510)
- 15.3.3、一下注意事項(當系統中存在較多例行性計劃的時候,應該注意的問題c510)
15.4、可喚醒停機期間的工作任務
- 15.4.1、什么是anacron(anacron命令的功能簡述a511,ace512)(anacron的運行原理的簡述bcde512)
- 15.4.2、anacron與/etc/anacrontab(關于腳本文件【/etc/cron.hourly/0anacron】的說明fh512)(anacron命令的常用選項和參數g512)(配置文件【/etc/anacrontab】的內容各個字段的解釋說明a513)(anacron的運行詳述b513)(為什么隔了一段時間啟動Centos機器之后的一個小時系統會有一小段時間比較忙碌c513)(crond和anacron的關系總結d513)
15.5、重點回顧
15.6、本章習題(簡答題,見輔助文檔)
16、進程管理與SELinux初探
16.1、什么是進程(關于進程的定義的簡要說明a516)
- 16.1.1、進程與程序,即process & program(如何產生一個進程?b516)(什么是程序?c516)(關于進程擁有的權限的說明d516)(關于程序的總結a517)(關于進程的總結b517)(什么是子進程,什么是父進程?ce517)(某個進程的父進程該如何判斷?de517)(將一個有問題的進程關閉,不久后其又自動產生的原因分析f517)(什么是fork and exec,即程序調用的流程?g517)(關于常住內存的進程與服務的簡述a518)(為什么Linux系統中的一些服務的名稱最后一個字母都是【d】?b518)
- 16.1.2、Linux的多人多任務環境(Linux多人多任務環境有哪些特色?c518)(在命令行中登陸后,屏幕出現錯誤信息之后就掛了,該怎么恢復ac519)(如何讓某個命令在后臺執行?b519)
16.2、任務管理,即job control
- 16.2.1、什么是任務管理(關于任務管理適用范圍的說明ab520)(關于終端中的前臺與后臺的說明,以及哪些命令可以放入后臺,哪些命令可以放入前臺的說明c520)(bash的任務管理要注意的限制是d520)
- 16.2.2、job control的管理(任務控制相關命令有哪些?e520,ab521,df522,a523)(關于直接將命令丟到后臺中執行的【&】的說明e520)(關于將目前的任務丟到后臺中暫停的【ctrl + z 】的說明a521)(查看目前的后臺任務狀態的命令jobs的選項與參數b521)(jobs命令常用的范例ab522)(jobs列出的任務中前面的【+】和【-】分別表示什么意思?c522)(將后臺任務拿到前臺來處理的命令fg常用的選項和參數d522)(fg命令的使用范例e522)(讓某個后臺任務的狀態變成運行的命令bg的使用范例f522)(kill命令的選項和參數a523)(kill命令常用的范例bc523)(關于kill命令的細節說明d523)
- 16.2.3、脫機管理(遠程連接到Linux主機,將任務放后臺運行,如果此時脫機了,任務還會不會繼續執行e523)(如何將任務放置到系統的后臺執行而非終端的后臺?f523)(nohup命令的選項和參數a524)(nohup命令的注意點b524)(nohup命令的使用范例c524)
16.3、進程管理(為何進程管理如此重要d524)
- 16.3.1、查看進程(ps命令的選項和參數e524,a525)(ps命令的時用范例bc525,abc526)(對于命令【ps -l】顯示的信息中各個字段的含義是什么?c525)(命令【ps aux】顯示的信息中各個字段的含義是什么?b526)(什么是僵尸進程,產生僵尸進程的原因以及解決辦法?a527)(動態查看進程狀態的命令top的選項與參數b527)(top命令的使用范例ac528)(關于top命令的界面的信息的含義說明b528)(pstree命令的選項和參數a529)(pstree命令的使用范例b529)(所有進程與進程systemd的關系a530)(pstree的妙用b530)
- 16.3.2、進程的管理(進程是如何互相管理的?c530)(主要的信號的代號、名稱及內容的總結d530)(如何給一個進程發送信號e530)(kill命令后面直接跟【數字】和【%數字】的區別f530)(kill命令與ps命令結合使用的范例a531)(killall常用的選項與參數b531)(killall命令的使用范例c531)
- 16.3.3、關于進程的執行順序(CPU調度與計劃任務的區別a532)(關于Linux給予進程的優先級,即PRI值的解釋b532)(如何查看系統中各個進程的PRI?b532)(如何調整進程的優先級?def532)(PRI值與NI值的相關性e532)(對于NI,即nice值的注意點的說明a533)(如何給予某個進程nice值?b533)(nice命令的常用選項和參數d533)(nice命令的使用范例c533)(什么時候應該將nice值調大e533)(renice命令的選項和參數f533)(renice命令常用的范例g533)
- 16.3.4、查看系統資源信息(free命令的選項與參數a534)(free命令范例bc534)(uname命令的常用選項和參數d534)(uname命令的使用范例e534)(uptime命令的使用范例a535)(關于535頁netstat命令的選項和說明等看到服務器篇在看)(dmesg命令的使用范例a536)(vmstat命令功能簡述b536)(vmstat命令的常用選項和范例c536)(vmstat命令的常用范例a537)
16.4、特殊文件與進程
- 16.4.1、具有SUID/SGID權限的命令執行狀態(SUID權限具有什么特點?a538)(從進程的角度解釋SUID是怎么生效的?b538)(如何查詢整個系統中的SUID/SGID的文件?a539)
- 16.4.2、/proc/* 代表的意義(每個進程與目錄【/proc】中的數字目錄有什么關聯?b539)(關于目錄【/proc】中的進程目錄中的文件【cmdline】和文件【environ】的說明c539)(目錄【/proc】下存儲Linux系統相關的參數的文件有哪些?d539)
- 16.4.3、查詢已使用文件或已執行進程使用的文件(fuser命令的功能簡介a540)(fuser的選項和參數b540)(fuser命令常用的范例c540)(關于命令【fuser】顯示的信息中的權限,即ACCESS,一欄的解釋說明d540)(lsof命令的功能簡介a541)(lsof命令的常用選項與參數a542)(lsof命令常用的范例b542)(pidof命令常用的選項和參數以及范例c542)
16.5、SELinux初探
- 16.5.1、什么是SELinux(什么是SELinux?acd543)(系統資源是通過什么來進行讀寫的?b543)(什么是自主訪問控制?e543)(自主訪問控制的缺陷是什么?f543)(關于強制訪問控制的說明a544)
- 16.5.2、SELinux的運行模式(關于SELinux的控制主體、控制目標、策略和安全上下文的相關性的說明b544,bc545)(Centos 7中的三個主要的SELinux策略a545)(關于安全上下文的簡述b545)(SELinux的控制主體、控制目標、策略和安全上下文的相關性的說明示意圖c545)(關于安全上下文存放位置的說明d545)(如何查看文件資源安全上下文的內容,以及內容的含義是什么?e545)(如何查看進程資源的安全上下文,以及其內容的含義是什么?ab546)(對于文件資源的安全上下文中的type字段與進程的安全上下文的domain字段相關性的舉例說明a547)(關于文件資源的類型與進程的域對不上,即SELinux安全上下文類型不同,進程能否正常訪問文件資源的范例b547)
- 16.5.3、SELinux 3種模式的啟動、關閉與查看(SELinux中的3種模式有哪些?a548)(SELinux三種模式與SELinux的策略規則、安全上下文的關系說明b548)(如何查看目前自己主機上的SELinux是哪一種模式a549)(sestatus命令的選項與參數b549)(sestatus命令的使用范例c549)(SELinux的配置文件是哪個?以及如何調整SELinux策略?d549)(如果修改了SELinux的策略需不需要重新啟動?e549)(如何將SELinux的模式由enforcing或permissive轉為disable,以及如何由disable轉為enforcing或permissive?f549)(如何將SELinux的模式在Permissive與enforcing之間進行轉換?a550)(如何解決將SELinux模式從disable轉為enforcing之后一些服務因為文件讀取不了而無法啟動的問題?b550)
- 16.5.4、SELinux策略內的規則管理(getsebool命令的常用選項與參數c550)(getsebool命令的常用范例d550)(seinfo命令的選項與參數a551)(seinfo命令的常用范例b551)(sesearch命令的選項與參數c551)(sesearch命令常用的范例d551)(如何修改某個規則的布爾值,setsebool命令的常用選項、參數和范例a552)
- 16.5.5、SELinux安全上下文的修改(對于受限主體進程的影響分為哪三個部分?b552)(chcon命令的選項與參數c552)(chcon命令的時用范例a553)(restorecon命令的選項與參數b553)(restorecon命令的時用范例c553)(為什么可以使用命令restorecon恢復一個文件正確的默認文件SELinux類型d553)(semanage命令的選項與范例e553)(semanage命令的使用范例f553)(如何使用semanage命令修改某個目錄的默認的SELinux類型?g553)
- 16.5.6、一個網絡服務案例及日志文件協助(看到服務器篇再適時回頭看看)
16.6、重點回顧
16.7、本章習題(簡單題,見輔助文檔)
17、認識系統服務,即daemon
17.1、什么是daemon與服務service(服務的概念簡述a564)(daemon與service之間的關系b564)(daemon是一個程序執行后的進程,那么daemon所處的原本的進程是如何命名的?c564)
- 17.1.1、早期System V的init管理操作中daemon的主要分類(可選內容,需要的時候再看)
- 17.1.2、systemd使用的unit分類(啟動服務管理機制【systemd】有什么好處?a566)(systemd無法完全替代init的方面有哪些?b566)(systemd將過去的daemon執行腳本稱為什么?cd566)(服務單位的基本類型有哪些?a567)
總結
以上是生活随笔為你收集整理的《鸟哥的Linux私房菜》第四版导学的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小问题,对递归重复调用的改进,一起来分享
- 下一篇: 02. Creating a Web F