# 目錄及概述
這本書的所有內容是學習Linux的基礎,這些內容是基礎中的基礎,如果您能將其中的文字都看完并且消化過,那么未來在管理 Linux主機以及架設網站方面,就能夠達到“事半功倍”的成效,請不要忽略這些內容了!否則,再怎么討論都是枉然的啦!^_^。 Linux的資料非常的多,每份資料彼此的相關性都很強,要單獨的一項一項講解并不容易, 那么這本書件該怎么看呢?建議先按照順序將內容大致瀏覽過一次,看不懂的地方也可以先略過不要緊。 全部看完之后,再從頭開始“仔細”的實際操作過一遍,那應該就能夠進入Linux的世界啰~
另外,每個章節下面的日期,指的是重大改版日期而非最新日期,最新日期請以該章節結束部分的工作日志為主的喔!
### Linux 的學習曲線,一個老人家的建議!
* [1\. VBird 與 Linux](../Text/new_linux.html#VBirdandLinux)
* [2\. VBird 的 Linux 學習之路](../Text/new_linux.html#VBird_learn)
* [3\. 學習心態的分別](../Text/new_linux.html#learn)
* [4\. 基本的學習流程](../Text/new_linux.html#learn_basic)
* [5\. 基本的建站流程表](../Text/new_linux.html#network)
* [6\. 簡易的安全防護](../Text/new_linux.html#security)
## 第一部份 Linux 的規劃與安裝
常常聽到Linux具有非常優良的血統,所以具有相當良好的多用戶多任務環境,可以方便程序設計師來開發軟件。 此外,Linux本身是不用錢的“自由軟件”,使用上面并沒有所謂的“盜版”問題。但是,為什么Linux不用錢? 隨便修改或發布Linux為什么不會被罰?為什么Linux有這么多的版本?包括Fedora, SuSE, CentOS, Debian等等? 這個都是我們必須要來了解的部分!了解這些部分,你才會對Linux有一個正確的理解,才能夠跟你的同事、同學、 上司說明,為什么使用Linux具有很多優點與好處! ^_^
Linux并不好學習,鳥哥也是“重傷”過好幾次才能對Linux有一些基礎的認知。那么到底應該如何學習Linux呢?關鍵在實作。 既然要實作就得要實際的安裝一部Linux,那么Linux要安裝前需要熟悉哪些基礎觀念?計算機概論是非常重要的一環! 因為Linux與硬件的關系還不小~此外,打造一臺Windows/Linux共存的主機也是很有用的, 至少對于需要多平臺但又缺乏空間與金錢的朋友來說,這樣的處理是非常有用的!
在第一篇里面,我們會由計算機概論談起,再講到Linux的歷史淵源與自由軟件的關系,然后重點在于如何規劃硬件與Linux安裝, 最后談到如何登陸與使用Linux圖形/命令行的環境。本篇數據較多,第一次接觸Linux的新朋友, 很多數據若看不懂可以先略過,等到后續文章都讀完了再回來看,才會有幫助喔! ^_^
### 第零章 計算機概論
鳥哥在大專院校的教學經驗中發現到,由于對 Linux 有興趣的朋友很多可能并非信息相關專業出身, 因此對于計算機硬件及計算機方面的概念不熟。然而操作系統這種咚咚跟硬件.....2015/04/16
* [0.1 電腦:輔助人腦的好工具](../Text/index.html#computer)
* [0.1.1 計算機硬件的五大單元](../Text/index.html#computer_hw)
* [0.1.2 一切設計的起點:CPU 的架構, RISC與ARM, CISC與x86](../Text/index.html#computer_cpu)
* [0.1.3 其他單元的設備](../Text/index.html#computer_other)
* [0.1.4 運行流程](../Text/index.html#computer_flow)
* [0.1.5 電腦按用途分類](../Text/index.html#computer_type)
* [0.1.6 電腦上面常用的計算單位 (容量、速度等)](../Text/index.html#computer_unit)
* [0.2 個人電腦架構與相關設備元件](../Text/index.html#pc)
* [0.2.1 執行腦袋運算與判斷的 CPU:CPU的工作頻率,32位與64位,CPU等級, 超線程](../Text/index.html#pc_cpu)
* [0.2.2 內存:多通道, DRAM與SRAM, ROM](../Text/index.html#pc_ram)
* [0.2.3 顯卡:PCIe 規格](../Text/index.html#pc_vga)
* [0.2.4 硬盤與儲存設備:物理組成,盤片與扇區,傳輸接口(SATA,SAS,USB..),SSD,購買與運行](../Text/index.html#pc_hd)
* [0.2.5 擴展卡與接口](../Text/index.html#pc_pci)
* [0.2.6 主板](../Text/index.html#pc_mb)
* [0.2.7 電源供應器](../Text/index.html#pc_power)
* [0.2.8 選購須知](../Text/index.html#pc_select)
* [0.3 數據表示方式](../Text/index.html#data)
* [0.3.1 數字系統](../Text/index.html#data_number)
* [0.3.2 文字編碼系統](../Text/index.html#data_word)
* [0.4 軟件程序運行](../Text/index.html#program)
* [0.4.1 機器程序與編譯程序](../Text/index.html#program_mechin)
* [0.4.2 操作系統](../Text/index.html#program_os)
* [0.4.3 應用程序](../Text/index.html#program_ap)
* [0.5 重點回顧](../Text/index.html#hint)
* [0.6 本章習題](../Text/index.html#ex)
* [0.7 參考資料與延伸閱讀](../Text/index.html#reference)
### 第一章 Linux是什么/如何學習
眾所皆知的,Linux的核心原型是1991年由托瓦茲(Linus Torvalds)寫出來的,但是托瓦茲為何可以寫出Linux這個操作系統? 為什么他要選擇386的計算機來開發?為什么Linux的發展可以這么迅速?又為什么Linux是免費的?.....2015/04/23
* [1.1 Linux是什么](../Text/index.html#whatislinux)
* [1.1.1 Linux是什么?操作系統/應用程序?](../Text/index.html#whatislinux_os)
* [1.1.2 Linux之前,Unix的歷史](../Text/index.html#whatislinux_unix)
* [1.1.3 關于GNU計劃、自由軟件與開放源代碼](../Text/index.html#whatislinux_gnu)
* [1.2 Torvalds的Linux發展](../Text/index.html#torvalds)
* [1.2.1 與Minix之間](../Text/index.html#torvalds_minix)
* [1.2.2 對386硬件的多任務測試](../Text/index.html#torvalds_multi)
* [1.2.3 初次釋出Linux 0.02](../Text/index.html#torvalds_first)
* [1.2.4 Linux的發展:虛擬團隊的產生](../Text/index.html#torvalds_team)
* [1.2.5 Linux 的核心版本](../Text/index.html#torvalds_version)
* [1.2.6 Linux distributions](../Text/index.html#torvalds_dist)
* [1.3 Linux當前應用的角色](../Text/index.html#uselinux)
* [1.3.1 企業環境的利用](../Text/index.html#uselinux_enterprise)
* [1.3.2 個人環境的使用](../Text/index.html#uselinux_person)
* [1.3.3 云端運用](../Text/index.html#uselinux_cloud)
* [1.4 Linux 該如何學習](../Text/index.html#learn)
* [1.4.1 從頭學習Linux基礎](../Text/index.html#learn_follow)
* [1.4.2 選擇一本易讀的工具書](../Text/index.html#learn_book)
* [1.4.3 實作再實作](../Text/index.html#learn_real)
* [1.4.4 發生問題怎么處理啊?建議流程是這樣...](../Text/index.html#learn_fag)
* [1.4.5 鳥哥的建議(重點在solution的學習)](../Text/index.html#learn_vbird)
* [1.5 重點回顧](../Text/index.html#hint)
* [1.6 本章習題](../Text/index.html#ex)
* [1.7 參考資料與延伸閱讀](../Text/index.html#reference)
### 第二章 主機規劃與磁盤分區
事實上,要安裝好一部Linux主機并不是那么簡單的事情,你必須要針對distributions的特性、服務器的軟件能力、 未來的升級需求、硬件擴充性需求等等來考慮,還得要知道磁盤分區、文件系統.....2015/04/28
* [2.1 Linux與硬件的搭配](../Text/index.html#hardware)
* [2.1.1 認識計算機的硬件配備](../Text/index.html#hardware_know)
* [2.1.2 選擇與Linux搭配的主機配備: 硬件支持相關網站](../Text/index.html#hardware_select)
* [2.1.3 各硬件設備在Linux中的文件名](../Text/index.html#hardware_no)
* [2.1.4 使用虛擬機學習](../Text/index.html#hardware_virtual)
* [2.2 磁盤分區](../Text/index.html#partition)
* [2.2.1 磁盤連接的方式與設備文件名的關系](../Text/index.html#partition_name)
* [2.2.2 MSDOS(MBR) 與 GPT 磁盤分區表(partition table)](../Text/index.html#partition_table)
* [2.2.3 開機流程中的 BIOS 與 UEFI 開機檢測程序](../Text/index.html#partition_bios_uefi)
* [2.2.4 Linux安裝模式下,磁盤分區的選擇(極重要)](../Text/index.html#partition_install)
* [2.3 安裝Linux前的規劃](../Text/index.html#beforeinstall)
* [2.3.1 選擇適當的distribution](../Text/index.html#beforeinstall_distro)
* [2.3.2 主機的服務規劃與硬件的關系](../Text/index.html#beforeinstall_service)
* [2.3.3 主機硬盤的主要規劃(partition)](../Text/index.html#beforeinstall_partition)
* [2.3.4 鳥哥的兩個實際案例](../Text/index.html#vbirdcase)
* [2.4 重點回顧](../Text/index.html#hint)
* [2.5 本章習題](../Text/index.html#ex)
* [2.6 參考資料與延伸閱讀](../Text/index.html#reference)
### 第三章 安裝CentOS 7.x與多重開機技巧
Linux distributions越作越成熟,所以在安裝方面也越來越簡單!雖然安裝非常的簡單, 但是剛剛前一章所談到的基礎認知還是需要了解的,包括MBR, partition, boot loader, mount, software的.....2015/05/06
* [3.1 本練習機的規劃--尤其是分區參數](../Text/index.html#design)
* [3.2 開始安裝CentOS 7](../Text/index.html#centos)
* [3.2.1 調整開機媒體(BIOS)與虛擬機創建流程](../Text/index.html#centos_1)
* [3.2.2 選擇安裝模式與開機:inst.gpt 參數](../Text/index.html#centos_2)
* [3.2.3 在地設置之時區、語系與鍵盤配置](../Text/index.html#centos_3)
* [3.2.4 安裝來源設置與軟件選擇](../Text/index.html#centos_4)
* [3.2.5 磁盤分區與文件系統設置](../Text/index.html#centos_5)
* [3.2.6 核心管理與網絡設置](../Text/index.html#centos_6)
* [3.2.7 開始安裝、設置 root 密碼與新增可切換身份之一般用戶](../Text/index.html#centos_7)
* [3.2.8 準備使用系統前的授權同意](../Text/index.html#centos_8)
* [3.2.9 其他功能:RAM testing, 安裝筆記本電腦的核心參數(Option)](../Text/index.html#centos_9)
* [3.3 多重開機安裝流程與管理(Option)](../Text/index.html#multiboot)
* [3.3.1 安裝 CentOS 7.x + windows 7 的規劃](../Text/index.html#multiboot_design)
* [3.3.2 進階安裝 CentOS 7.x 與 Windows 7](../Text/index.html#multiboot_linux)
* [3.3.3 救援 MBR 內的開機管理程序與設置多重開機菜單](../Text/index.html#multiboot_rescue)
* [3.4 重點回顧](../Text/index.html#hint)
* [3.5 本章習題](../Text/index.html#ex)
* [3.6 參考資料與延伸閱讀](../Text/index.html#reference)
### 第四章 首次登陸與線上求助 man page
終于可以開始使用Linux這個有趣的系統了!由于Linux系統使用了非同步的磁盤/內存數據傳輸模式, 同時又是個多用戶多任務的環境,所以你不能隨便的不正常關機,關機有一定的程序喔!錯誤的關機方法.....2015/06/02
* [4.1 首次登陸系統](../Text/index.html#start)
* [4.1.1 首次登陸CentOS 7.x圖形接口](../Text/index.html#start_startx)
* [4.1.2 GNOME的操作與登出,應用程序,文件資源管理器,中文輸入法,登出窗口,快速重啟 X](../Text/index.html#start_gnome)
* [4.1.3 X Window與文字模式的切換, startx](../Text/index.html#start_x_cmd)
* [4.1.4 在終端接口登陸linux](../Text/index.html#start_cmd)
* [4.2 文字模式下指令的下達](../Text/index.html#cmd)
* [4.2.1 開始下達指令, 語系的支持](../Text/index.html#cmd_cmd)
* [4.2.2 基礎指令的操作, cal, bc](../Text/index.html#cmd_basic)
* [4.2.3 重要的幾個熱鍵[Tab], [ctrl]-c, [ctrl]-d, [shift]+[UP/DOWN]](../Text/index.html#cmd_hkey)
* [4.2.4 錯誤訊息的查看](../Text/index.html#cmd_err)
* [4.3 Linux系統的線上求助man page與info page](../Text/index.html#manual)
* [4.3.1 指令的 --help 求助說明](../Text/index.html#manual_help)
* [4.3.2 man page, mandb/makewhatis](../Text/index.html#manual_man)
* [4.3.3 info page](../Text/index.html#manual_info)
* [4.3.4 其他有用的文件(documents)](../Text/index.html#manual_docs)
* [4.4 超簡單文書編輯器: nano](../Text/index.html#nano)
* [4.5 正確的關機方法: sync, shutdown, reboot, halt, poweroff, systemctl](../Text/index.html#shutdown_pc)
* [4.6 重點回顧](../Text/index.html#hint)
* [4.7 本章習題](../Text/index.html#ex)
* [4.8 參考資料與延伸閱讀](../Text/index.html#reference)
## 第二部分 Linux 文件、目錄與磁盤格式
安裝完了 Linux 之后,接著下來自然就是要使用他了!我們在 [開機與關機及簡易指令操作](../Text/index.html#cmd) 稍微說明了指令下達的方法,以及[指令線上查詢](../Text/index.html#manual)的方式, 因此您可以輕易的使用命令行界面來進行諸多的動作與工作。那么接著下來呢?當然就是想要知道 Linux 里面有什么東西啰,所以,在這一個部分當中,我們將介紹 Linux 最基本的文件權限概念, 與每個文件目錄所帶有的意涵。
當然啰,要了解權限的概念,那么對于不同的“身份”就需要了解一下才行, 不同的身份的人,所創建的或擁有的文件是否會相同呢?例如系統管理員與一般身份使用者的文件? 當然不太一樣!除此之外,如果您的硬盤空間不足,需要增加硬盤時,應該要如何新增呢? 還有,內存不足的情況下,有沒有增進虛擬內存容量的方法?在接下來的幾個章節之中,我們將介紹 Linux 主要的文件架構、以及磁盤在 Linux 當中該如何使用及掛載等問題。
### 第五章 Linux文件權限與目錄配置
Linux最優秀的地方之一,就在于他的多用戶多任務的環境。而為了讓各個使用者具有較保密的文件數據, 因此文件的權限管理就變的很重要了。 Linux一般將文件可存取的身份分為三個類別,分別是 owner/group/other, 且三種身份各有read/write/execute.....2015/06/03
* [5.1 使用者與群組](../Text/index.html#UserandGroup)
* [5.2 Linux文件權限概念](../Text/index.html#filepermission)
* [5.2.1 Linux文件屬性, 改變語系的 locale](../Text/index.html#filepermission_perm)
* [5.2.2 如何改變文件屬性與權限:chgrp, chown, chmod](../Text/index.html#filepermission_ch)
* [5.2.3 目錄與文件之權限意義:, 數據夾與抽屜,各項動作所需最小權限](../Text/index.html#filepermission_dir)
* [5.2.4 Linux文件種類與擴展名](../Text/index.html#filepermission_type)
* [5.3 Linux目錄配置](../Text/index.html#dir)
* [5.3.1 Linux目錄配置的依據--FHS:/, /usr, /var](../Text/index.html#dir_fhs)
* [5.3.2 目錄樹(directory tree)](../Text/index.html#dir_tree)
* [5.3.3 絕對路徑與相對路徑](../Text/index.html#dir_path)
* [5.3.4 CentOS 的觀察:lsb_release](../Text/index.html#dir_lsb)
* [5.4 重點回顧](../Text/index.html#hint)
* [5.5 本章練習](../Text/index.html#ex)
* [5.6 參考資料與延伸閱讀](../Text/index.html#reference)
### 第六章 Linux文件與目錄管理
在第五章我們認識了Linux系統下的文件權限概念以及目錄的配置說明。 在這個章節當中, 我們就直接來進一步的操作與管理文件與目錄吧!包括在不同的目錄間變換、 創建與刪除目錄、創建與刪除文件, 還有尋找文件、查閱文件內容.....2015/06/16
* [6.1 目錄與路徑](../Text/index.html#dir)
* [6.1.1 相對路徑與絕對路徑](../Text/index.html#dir_pathway)
* [6.1.2 目錄的相關操作: cd, pwd, mkdir, rmdir](../Text/index.html#dir_opdir)
* [6.1.3 關于可執行文件路徑的變量: $PATH](../Text/index.html#dir_path)
* [6.2 文件與目錄管理](../Text/index.html#file_dir_manage)
* [6.2.1 文件與目錄的檢視: ls](../Text/index.html#ls)
* [6.2.2 復制、刪除與移動: cp, mv](../Text/index.html#cprmmv)
* [6.2.3 取得路徑的文件名稱與目錄名稱](../Text/index.html#dir_name)
* [6.3 文件內容查閱](../Text/index.html#file_content)
* [6.3.1 直接檢視文件內容: cat, tac, nl](../Text/index.html#file_content_1)
* [6.3.2 可翻頁檢視: more, less](../Text/index.html#file_content_2)
* [6.3.3 數據擷取: head, tail](../Text/index.html#file_content_3)
* [6.3.4 非純文本文件: od](../Text/index.html#od)
* [6.3.5 修改文件時間與創建新文件: touch](../Text/index.html#touch)
* [6.4 文件與目錄的默認權限與隱藏權限](../Text/index.html#fileperm)
* [6.4.1 文件默認權限:umask](../Text/index.html#umask)
* [6.4.2 文件隱藏屬性:chattr, lsattr](../Text/index.html#attr)
* [6.4.3 文件特殊權限:SUID, SGID,SBIT, 權限設置](../Text/index.html#suid_sgid_sbit)
* [6.4.4 觀察文件類型:file](../Text/index.html#file)
* [6.5 指令與文件的搜尋](../Text/index.html#file_find)
* [6.5.1 指令文件名的搜尋:which](../Text/index.html#file_find_cmd)
* [6.5.2 文件文件名的搜尋:whereis,locate / updatedb, find](../Text/index.html#file_find_file)
* [6.6 極重要的復習!權限與指令間的關系](../Text/index.html#import)
* [6.7 重點回顧](../Text/index.html#hint)
* [6.8 本章習題](../Text/index.html#ex)
* [6.9 參考資料與延伸閱讀](../Text/index.html#reference)
### 第七章 Linux 磁盤與文件系統管理
系統管理員很重要的任務之一就是管理好自己的磁盤文件系統,每個分區不可太大也不能太小,太大會造成磁盤容量的浪費, 太小則會產生文件無法儲存的困擾。此外,我們在前面幾章談到的文件權限與屬性中, 這些權限與屬性分別記錄在.....2015/06/26
* [7.1 認識 Linux 文件系統](../Text/index.html#harddisk)
* [7.1.1 磁盤組成與分區的復習](../Text/index.html#harddisk-physical)
* [7.1.2 文件系統特性: 索引式文件系統](../Text/index.html#harddisk-filesystem)
* [7.1.3 Linux 的 EXT2 文件系統(inode): data block, superblock,dumpe2fs](../Text/index.html#harddisk-inode)
* [7.1.4 與目錄樹的關系](../Text/index.html#harddisk-dir)
* [7.1.5 EXT2/EXT3 文件的存取與日志式文件系統的功能](../Text/index.html#harddisk-journal)
* [7.1.6 Linux 文件系統的運行](../Text/index.html#harddisk-filerun)
* [7.1.7 掛載點的意義 (mount point)](../Text/index.html#harddisk-mount)
* [7.1.8 其他 Linux 支持的文件系統與 VFS](../Text/index.html#harddisk-other)
* [7.1.9 XFS 文件系統簡介: xfs_info](../Text/index.html#harddisk-xfs)
* [7.2 文件系統的簡單操作](../Text/index.html#filesys)
* [7.2.1 磁盤與目錄的容量:df, du](../Text/index.html#filesys_1)
* [7.2.2 實體鏈接與符號鏈接:ln](../Text/index.html#link)
* [7.3 磁盤的分區、格式化、檢驗與掛載](../Text/index.html#disk)
* [7.3.1 觀察磁盤分區狀態:, parted](../Text/index.html#part_type)
* [7.3.2 磁盤分區 gdisk/fdisk:gdisk, fdisk](../Text/index.html#f.disk)
* [7.3.3 磁盤格式化(創建文件系統):mkfs.xfs, mkfs.xfs for raid,mkfs.ext4, mkfs](../Text/index.html#format)
* [7.3.4 文件系統檢驗:xfs_repair, fsck.ext4](../Text/index.html#fsck)
* [7.3.5 文件系統掛載與卸載: mount, umount](../Text/index.html#mount)
* [7.3.6 磁盤/文件系統參數修訂: mknod, xfs_admin, tune2fs](../Text/index.html#diskpara)
* [7.4 設置開機掛載](../Text/index.html#bootup)
* [7.4.1 開機掛載 /etc/fstab 及 /etc/mtab](../Text/index.html#fstab)
* [7.4.2 特殊設備 loop 掛載(鏡像文件不燒錄就掛載使用): 掛載DVD,大型文件, dd](../Text/index.html#loop)
* [7.5 內存交換空間(swap)之創建](../Text/index.html#swap)
* [7.5.1 使用實體分區創建swap:mkswap, free, swapon, swapoff](../Text/index.html#swapdevice)
* [7.5.2 使用文件創建swap](../Text/index.html#swapfile)
* [7.6 文件系統的特殊觀察與操作](../Text/index.html#special)
* [7.6.1 磁盤空間之浪費問題](../Text/index.html#special_waste)
* [7.6.2 利用 GNU 的 parted 進行分區行為 (Optional)](../Text/index.html#parted)
* [7.7 重點回顧](../Text/index.html#hint)
* [7.8 本章習題 - 第一題一定要做](../Text/index.html#ex)
* [7.9 參考資料與延伸閱讀](../Text/index.html#reference)
### 第八章 文件的壓縮與打包
在 Linux 下面有相當多的壓縮指令可以運行喔!這些壓縮指令可以讓我們更方便從網絡上面下載大型的文件呢! 此外,我們知道在 Linux 下面的擴展名是沒有什么很特殊的意義的,不過,針對這些壓縮指令所做出來的壓縮文件, 為了方便記憶.....2015/07/16
* [8.1 壓縮文件的用途與技術](../Text/index.html#compress_tech)
* [8.2 Linux 系統常見的壓縮指令](../Text/index.html#compress_name)
* [8.2.1 gzip, zcat/zmore/zless/zgrep](../Text/index.html#gzip)
* [8.2.2 bzip2, bzcat/bzmore/bzless/bzgrep](../Text/index.html#bzip2)
* [8.2.3 xz, xzcat/xzmore/xzless/xzgrep](../Text/index.html#xz)
* [8.3 打包指令:tar, 解壓后的 SELinux 課題](../Text/index.html#pack)
* [8.4 XFS 文件系統的備份與還原](../Text/index.html#dump_restore)
* [8.4.1 XFS 文件系統備份 xfsdump](../Text/index.html#xfsdump)
* [8.4.2 XFS 文件系統還原 xfsrestore](../Text/index.html#xfsrestore)
* [8.5 光盤寫入工具](../Text/index.html#cd_record)
* [8.5.1 mkisofs:創建鏡像文件: isoinfo](../Text/index.html#mkisofs)
* [8.5.2 cdrecord:光盤燒錄工具](../Text/index.html#cdrecord)
* [8.6 其他常見的壓縮與備份工具](../Text/index.html#other)
* [8.6.1 dd](../Text/index.html#dd)
* [8.6.2 cpio](../Text/index.html#cpio)
* [8.7 重點回顧](../Text/index.html#hint)
* [8.8 本章習題](../Text/index.html#ex)
* [8.9 參考資料與延伸閱讀](../Text/index.html#reference)
## 第三部分:學習 Shell 與 Shell scripts
了解了基本的 Linux 文件屬性與目錄的配置之后,在進入更深入的 Linux 世界之前,有幾個課題還是一定要知道的,那就是我們所使用的這個文字模式接口,也就是所謂的“Shell”這個咚咚。在 Linux 的世界中,使用的是 GNU 發展出來的強化的第二代 shell ,稱為 BASH Shell ,他有什么特異功能呢?簡單的說,我們之前下達的幾個指令都是 bash 管理的,除此之外, 他還可以記錄指令、文件或命令的補全功能、環境變量的使用等等,還有很多功能等著你去發掘呢!
在知道了部分的 bash 功能后,在接著下來,我們還得了解一下什么是數據流重導向?還有常規表達式等等的問題, 這都是未來我們系統管理員在管理主機上面,一個不可缺乏的利器!當然啰,要將這些功能整合起來運用的話, 就不能不學習一下所謂的腳本“ shell scripts ”,他具有基礎的程序能力( Program ),當真是個管理系統的好幫手呢!
再來,在未來的建站設置當中,常會使用到文字編輯器來編輯參數配置文件,這個時候, 系統管理員至少務必要熟悉一套命令行下的文書編輯軟件,當然不限制哪一套軟件啦,但是 vi 是最標準的 Unix-Like 的命令行之文書處理軟件,所以,我們幾乎一定可以在每部 Unix-Like 上面發現他的蹤跡,所以,就來了解他一下吧,這也是挺重要的工作呢!
### 第九章 vim程序編輯器
系統管理員的重要工作就是得要修改與設置某些重要軟件的配置文件, 因此至少得要學會一種以上的命令行的文書編輯器。 在所有版本的 Linux 上頭都會有的一套文書編輯器就是 vi ,而且很多軟件.....2015/07/07
* [9.1 vi 與 vim](../Text/index.html#vi_vim)
* [9.1.1 為何要學 vim](../Text/index.html#vi_vim_why)
* [9.2 vi 的使用](../Text/index.html#vi)
* [9.2.1 簡易執行范例](../Text/index.html#vi_ex)
* [9.2.2 按鍵說明](../Text/index.html#vi_command)
* [9.2.3 一個案例的練習](../Text/index.html#vi_case)
* [9.2.4 vim 的暫存盤、救援回復與打開時的警告訊息](../Text/index.html#vi_temp)
* [9.3 vim 的額外功能](../Text/index.html#vim)
* [9.3.1 區塊選擇(Visual Block)](../Text/index.html#vim_v)
* [9.3.2 多文件編輯](../Text/index.html#vim_files)
* [9.3.3 多窗口功能](../Text/index.html#vim_ws)
* [9.3.4 vim 的挑字補全功能](../Text/index.html#vim_com)
* [9.3.5 vim 環境設置與記錄: ~/.vimrc, ~/.viminfo](../Text/index.html#vim_set)
* [9.3.6 vim 常用指令示意圖](../Text/index.html#vim_fig)
* [9.4 其他 vim 使用注意事項](../Text/index.html#tips)
* [9.4.1 中文編碼的問題](../Text/index.html#tips_code)
* [9.4.2 DOS 與 Linux 的斷行字符: dos2unix,unix2dos](../Text/index.html#tips_dos)
* [9.4.3 語系編碼轉換: iconv](../Text/index.html#tips_translate)
* [9.5 重點回顧](../Text/index.html#hint)
* [9.6 本章習題](../Text/index.html#ex)
* [9.7 參考資料與延伸閱讀](../Text/index.html#reference)
### 第十章 認識與學習 BASH
在 Linux 的環境下,如果你不懂 bash 是什么,那么其他的東西就不用學了! 因為前面幾章我們使用終端機下達指令的方式, 就是通過 bash 的環境來處理的喔! 所以說,他很重要吧!bash 的東西非常的多,包括變量.....2015/07/09
* [10.1 認識 BASH 這個 Shell](../Text/index.html#bash)
* [10.1.1 硬件、核心與 Shell](../Text/index.html#bash_what)
* [10.1.2 為何要學命令行的 shell](../Text/index.html#bash_why)
* [10.1.3 系統的合法 shell 與 /etc/shells 功能](../Text/index.html#bash_shells)
* [10.1.4 Bash shell 的功能](../Text/index.html#bash_bash)
* [10.1.5 查詢指令是否為 Bash shell 的內置命令: type](../Text/index.html#bash_type)
* [10.1.6 指令的下達與快速編輯按鈕](../Text/index.html#bash_command)
* [10.2 Shell 的變量功能](../Text/index.html#variable)
* [10.2.1 什么是變量?](../Text/index.html#variable_var)
* [10.2.2 變量的取用與設置:echo, 變量設置規則, unset](../Text/index.html#variable_echo)
* [10.2.3 環境變量的功能:env 與常見環境變量說明, set, export](../Text/index.html#variable_environ)
* [10.2.4 影響顯示結果的語系變量 (locale)](../Text/index.html#variable_locale)
* [10.2.5 變量的有效范圍](../Text/index.html#variable_range)
* [10.2.6 變量鍵盤讀取、陣列與宣告: read, declare, array](../Text/index.html#variable_read)
* [10.2.7 與文件系統及程序的限制關系: ulimit](../Text/index.html#variable_ulimit)
* [10.2.8 變量內容的刪除、取代與替換 (Optional):刪除與取代,測試與替換](../Text/index.html#variable_other)
* [10.3 命令別名與歷史命令](../Text/index.html#alias_history)
* [10.3.1 命令別名設置: alias, unalias](../Text/index.html#alias)
* [10.3.2 歷史命令: history, HISTSIZE](../Text/index.html#history)
* [10.4 Bash shell 的操作環境](../Text/index.html#settings)
* [10.4.1 路徑與指令搜尋順序](../Text/index.html#settings_path)
* [10.4.2 bash 的進站與歡迎訊息: /etc/issue, /etc/motd](../Text/index.html#settings_issue)
* [10.4.3 環境配置文件:login, non-login shell, /etc/profile, ~/.bash_profile, source, ~/.bashrc](../Text/index.html#settings_bashrc)
* [10.4.4 終端機的環境設置: stty, set](../Text/index.html#settings_set)
* [10.4.5 萬用字符與特殊符號](../Text/index.html#settings_wildcard)
* [10.5 數據流重導向 (Redirection)](../Text/index.html#redirect)
* [10.5.1 何謂數據流重導向?](../Text/index.html#redirect_redirect)
* [10.5.2 命令執行的判斷依據: ; , &&, ||](../Text/index.html#redirect_com)
* [10.6 管線命令 (pipe)](../Text/index.html#pipe)
* [10.6.1 擷取命令:cut, grep](../Text/index.html#pipe_1)
* [10.6.2 排序命令:sort, uniq, wc](../Text/index.html#pipe_2)
* [10.6.3 雙向重導向:tee](../Text/index.html#pipe_3)
* [10.6.4 字符轉換命令:tr, col, join, expand](../Text/index.html#pipe_4)
* [10.6.5 分區命令: split](../Text/index.html#split)
* [10.6.6 參數代換: xargs](../Text/index.html#xargs)
* [10.6.7 關于減號 - 的用途](../Text/index.html#pipe_7)
* [10.7 重點回顧](../Text/index.html#hint)
* [10.8 本章習題](../Text/index.html#ex)
* [10.9 參考資料與延伸閱讀](../Text/index.html#reference)
### 第十一章 正則表達式與文件格式化處理
正則表達式 (Regular Expression, RE, 或稱為常規表達式)是通過一些特殊字符的排列, 用以“搜尋/取代/刪除”一列或多列文字字串, 簡單的說, 正則表達式就是用在字串的處理上面的一項“表示式”。正則表達式并.....2015/07/14
* [11.1 開始之前:什么是正則表達式](../Text/index.html#before)
* [11.2 基礎正則表達式](../Text/index.html#basic_regexp)
* [11.2.1 語系對正則表達式的影響](../Text/index.html#lang)
* [11.2.2 grep 的一些進階選項](../Text/index.html#grep)
* [11.2.3 基礎正則表達式練習](../Text/index.html#basicre)
* [11.2.4 基礎正則表達式字符匯整(characters)](../Text/index.html#basic_regexp_char)
* [11.2.5 sed 工具:行的新增/刪除, 行的取代/顯示,搜尋并取代, 直接改檔](../Text/index.html#sed)
* [11.3 延伸正則表達式](../Text/index.html#extend)
* [11.4 文件的格式化與相關處理](../Text/index.html#docs)
* [11.4.1 printf: 格式化打印](../Text/index.html#printf)
* [11.4.2 awk:好用的數據處理工具](../Text/index.html#awk)
* [11.4.3 文件比對工具:, cmp, patch](../Text/index.html#doc_compare)
* [11.4.4 文件打印準備工具: pr](../Text/index.html#pr)
* [11.5 重點回顧](../Text/index.html#hint)
* [11.6 本章習題](../Text/index.html#ex)
* [11.7 參考資料與延伸閱讀](../Text/index.html#reference)
### 第十二章 學習 shell scripts
如果你真的很想要走信息這條路,并且想要好好的管理好屬于你的主機,那么,別說鳥哥不告訴你, 可以自動管理你的系統的好工具: Shell scripts 真的是得要好好學習學習的! 基本上, shell script 有點像是早期的批處理文件,亦即是.....2015/07/17
* [12.1 什么是 Shell Script](../Text/index.html#script)
* [12.1.1 干嘛學習 shell scripts](../Text/index.html#script_why)
* [12.1.2 第一支 script 的撰寫與執行](../Text/index.html#script_1st)
* [12.1.3 撰寫 shell script 的良好習慣創建](../Text/index.html#script_be)
* [12.2 簡單的 shell script 練習](../Text/index.html#some_ex)
* [12.2.1 簡單范例: 對談式腳本, 隨日期變化, 計算 pi](../Text/index.html#some_ex_simple)
* [12.2.2 script 的執行方式差異 (source, sh script, ./script)](../Text/index.html#some_ex_run)
* [12.3 善用判斷式](../Text/index.html#dis)
* [12.3.1 利用 test 指令的測試功能](../Text/index.html#test)
* [12.3.2 利用判斷符號 [ ]](../Text/index.html#test_2)
* [12.3.3 Shell script 的默認變量($0, $1...): shift](../Text/index.html#dis3)
* [12.4 條件判斷式](../Text/index.html#rule)
* [12.4.1 利用 if .... then: 單層簡單條件,多重復雜條件, 網絡狀態,退伍](../Text/index.html#ifthen)
* [12.4.2 利用 case ..... esac 判斷](../Text/index.html#case)
* [12.4.3 利用 function 功能](../Text/index.html#function)
* [12.5 循環 (loop)](../Text/index.html#loop)
* [12.5.1 while...do...done, until...do...done (不定循環)](../Text/index.html#while)
* [12.5.2 for...do...done (固定循環): 帳號檢查,網絡狀態 $(seq )](../Text/index.html#for)
* [12.5.3 for...do...done 的數值處理](../Text/index.html#for_2)
* [12.5.4 搭配亂數與陣列的實驗](../Text/index.html#array)
* [12.6 shell script 的追蹤與 debug](../Text/index.html#debug)
* [12.7 重點回顧](../Text/index.html#hint)
* [12.8 本章習題](../Text/index.html#ex)
## 第四部分:Linux 使用者管理
好了!終于要到了管理 Linux 帳號的時刻了!對于 Linux 有一定的熟悉度之后,再來就是要管理連上 Linux 的帳號問題了!這個帳號的問題可大可小啦!大到可以限制他使用 Linux 主機的各項資源,小到甚至一般帳號的密碼訂定規則都可以進行規定!端看您對于安全的需求啦! 此外,如果站在資源平均分配的角度上,那么 Linux 主機上面有限的資源當然是平均分配給大家比較好!這個時候就得來規定一下“誰可以使用多少的硬盤空間?”那就是 Quota 喔!呵呵!厲害吧!
在訂定完了一些帳號的規則之后,那么我們就繼續來管理一下主機的系統與程序的管理吧! 這個包括了觀察每個程序 (Process) 與工作調度及工作管理 ( jobs control ),這些也都是很重要的工作呢!
### 第十三章 Linux 帳號管理與 ACL 權限控制
要登陸 Linux 系統一定要有帳號與密碼才行,否則怎么登陸,您說是吧?不過, 不同的使用者應該要擁有不同的權限才行吧?我們還可以通過 user/group 的特殊權限設置,來規范出不同的群組開發專案呢.....2015/07/22
* [13.1 Linux 的帳號與群組](../Text/index.html#account)
* [13.1.1 使用者識別碼: UID 與 GID](../Text/index.html#account_id)
* [13.1.2 使用者帳號:/etc/passwd 文件結構, /etc/shadow 文件結構](../Text/index.html#account_user)
* [13.1.3 關于群組: /etc/group 文件結構,有效與初始群組, groups, newgrp, /etc/gshadow](../Text/index.html#account_group)
* [13.2 帳號管理](../Text/index.html#users)
* [13.2.1 新增與移除使用者: useradd, useradd 參考檔, passwd, chage, userdel](../Text/index.html#users_adduser)
* [13.2.2 使用者功能:id, finger,chfn, chsh](../Text/index.html#normal_user)
* [13.2.3 新增與移除群組:groupadd, groupmod, groupdel,gpasswd 群組管理員](../Text/index.html#group_add)
* [13.2.4 帳號管理實例](../Text/index.html#user_ex)
* [13.2.5 使用外部身份認證系統](../Text/index.html#user_other)
* [13.3 主機的細部權限規劃:ACL 的使用](../Text/index.html#acl_talk)
* [13.3.1 什么是 ACL 與如何支持啟動 ACL](../Text/index.html#acl_talk_what)
* [13.3.2 ACL 的設置技巧:setfacl, getfacl,ACL 的設置(user, group mask, default)](../Text/index.html#acl_talk_cmd)
* [13.4 使用者身份切換](../Text/index.html#userswitch)
* [13.4.1 su](../Text/index.html#su)
* [13.4.2 sudo: sudo 指令, visudo (/etc/sudoers)(帳號, 限制指令, 別名, 配合 su)](../Text/index.html#sudo)
* [13.5 使用者的特殊 shell 與 PAM 模塊](../Text/index.html#usershell)
* [13.5.1 特殊的 shell :/sbin/nologin, nologin.txt](../Text/index.html#nologin)
* [13.5.2 PAM 模塊簡介](../Text/index.html#pam_what)
* [13.5.3 PAM 模塊設置語法:驗證類別(type)、控制標準(flag)、模塊與參數](../Text/index.html#pam_setting)
* [13.5.4 常用模塊簡介: securetty,nologin, pam_pwquality,login流程](../Text/index.html#pam_module)
* [13.5.5 其他相關文件: limits.conf](../Text/index.html#pam_file)
* [13.6 Linux 主機上的使用者訊息傳遞](../Text/index.html#uselinux)
* [13.6.1 查詢使用者: w, who, last, lastlog](../Text/index.html#uselinux_find)
* [13.6.2 使用者對談: write, mesg, wall](../Text/index.html#uselinux_talk)
* [13.6.3 使用者郵件信箱: mail](../Text/index.html#mail)
* [13.7 CentOS 7 環境下大量創建帳號的方法](../Text/index.html#manual)
* [13.7.1 一些帳號相關的檢查工具:pwck, pwconv, chpasswd](../Text/index.html#manual_tools)
* [13.7.2 大量創建帳號范本(適用 passwd --stdin 選項)](../Text/index.html#manual_account_1)
* [13.8 重點回顧](../Text/index.html#hint)
* [13.9 本章習題](../Text/index.html#ex)
* [13.10 參考資料與延伸閱讀](../Text/index.html#reference)
### 第十四章 磁盤配額(Quota)與進階文件系統管理
如果您的 Linux 服務器有多個用戶經常存取數據時,為了維護所有使用者在硬盤容量的公平使用,磁盤配額 (Quota) 就是一項非常有用的工具!另外,如果你的用戶常常抱怨磁盤容量不夠用,那么更進階的文件系統就得要學習學習.....2015/07/28
* [14.1 磁盤配額 (Quota) 的應用與實作](../Text/index.html#the_quota)
* [14.1.1 什么是 Quota:一般用途, 限制, 規范 (inode/block, soft/hard, grace time)](../Text/index.html#the_quota_whatis)
* [14.1.2 一個 XFS 文件系統的 Quota 的實作范例](../Text/index.html#quota_flow)
* [14.1.3 實作 Quota 流程-1:文件系統的支持與觀察(/etc/fstab, /etc/mtab)](../Text/index.html#quota_flow_1)
* [14.1.4 實作 Quota 流程-2:觀察 Quota 報告數據(xfs_quota,print, df, report, state)](../Text/index.html#quota_flow_2)
* [14.1.5 實作 Quota 流程-3:限制值設置方式](../Text/index.html#quota_flow_3) ([limit, grace_time)](../Text/index.html#limit)
* [14.1.6 實作 Quota 流程-4:project 的限制 (針對目錄限制) (Optional)](../Text/index.html#quota_flow_4)
* [14.1.7 XFS quota 的管理與額外指令對照表](../Text/index.html#quota_manage)
* [14.1.8 不更動既有系統的 Quota 實例](../Text/index.html#quota_nochange)
* [14.2 軟件磁盤陣列 (Software RAID)](../Text/index.html#raid)
* [14.2.1 什么是 RAID: RAID-0, RAID-1,RAID1+0, Spare disk](../Text/index.html#raid_what)
* [14.2.2 software, hardware RAID](../Text/index.html#raid_so_ha)
* [14.2.3 軟件磁盤陣列的設置: mdadm --create](../Text/index.html#raid_setup)
* [14.2.4 仿真 RAID 錯誤的救援模式: mdadm --manage](../Text/index.html#raid_rescue)
* [14.2.5 開機自動啟動 RAID 并自動掛載](../Text/index.html#raid_auto)
* [14.2.6 關閉軟件 RAID(重要!)](../Text/index.html#raid_stop)
* [14.3 邏輯卷軸管理員 (Logical Volume Manager)](../Text/index.html#lvm)
* [14.3.1 什么是 LVM: PV, PE, VG, LV 的意義](../Text/index.html#lvm_whatis)
* [14.3.2 LVM 實作流程: PV 階段, VG 階段,LV 階段, 文件系統階段](../Text/index.html#lvm_flow)
* [14.3.3 放大 LV 容量: xfs_growfs](../Text/index.html#lvm_large)
* [14.3.4 使用 LVM thin Volume 讓 LVM 動態自動調整磁盤使用率](../Text/index.html#lvm_thin)
* [14.3.5 LVM 的磁盤快照: 創建傳統快照, 以快照還原,用于測試環境](../Text/index.html#lvm_snapshot)
* [14.3.6 LVM 相關指令匯整與 LVM 的關閉](../Text/index.html#lvm_hint)
* [14.4 重點回顧](../Text/index.html#hint)
* [14.5 本章習題](../Text/index.html#ex)
* [14.6 參考資料與延伸閱讀](../Text/index.html#reference)
### 第十五章 例行性工作調度 (crontab)
學習了基礎篇也一陣子了,你會發現到為什么系統常常會主動的進行一些任務? 這些任務到底是誰在設置工作的? 如果你想要讓自己設計的備份程序可以自動的在系統下面執行,.....2015/07/31
* [15.1 什么是例行性工作調度](../Text/index.html#whatiscron)
* [15.1.1 Linux 工作調度的種類: at, crontab](../Text/index.html#whatiscron_type)
* [15.1.2 CentOS Linux 系統上常見的例行性工作](../Text/index.html#whatiscron_linux)
* [15.2 僅執行一次的工作調度](../Text/index.html#atjob)
* [15.2.1 atd 的啟動與 at 運行的方式: /etc/at.deny](../Text/index.html#atjob_how)
* [15.2.2 實際運行單一工作調度: at,atq & atrm, batch](../Text/index.html#atjob_work)
* [15.3 循環執行的例行性工作調度](../Text/index.html#cron)
* [15.3.1 使用者的設置: /etc/cron.deny, crontab](../Text/index.html#crontab_user)
* [15.3.2 系統的配置文件: /etc/crontab, /etc/cron.d/*](../Text/index.html#etc_crontab1)
* [15.3.3 一些注意事項](../Text/index.html#security)
* [15.4 可喚醒停機期間的工作任務](../Text/index.html#anacron_1)
* [15.4.1 什么是 anacron](../Text/index.html#anacron_what)
* [15.4.2 anacron 與 /etc/anacrontab](../Text/index.html#anacron)
* [15.5 重點回顧](../Text/index.html#hint)
* [15.6 本章習題](../Text/index.html#ex)
### 第十六章 程序管理與 SELinux 初探
一個程序被載入到內存當中運行,那么在內存內的那個數據就被稱為程序(process)。程序是操作系統上非常重要的概念, 所有系統上面跑的數據都會以程序的型態存在。那么系統的程序有哪些狀態.....2015/08/08
* [16.1 什么是程序 (Process)](../Text/index.html#whatis)
* [16.1.1 程序與程序 (process & program):子程序與父程序, fork-and-exec,系統服務](../Text/index.html#whatis_program_process)
* [16.1.2 Linux 的多用戶多任務環境](../Text/index.html#whatis_milti_task)
* [16.2 工作管理 (job control)](../Text/index.html#background)
* [16.2.1 什么是工作管理](../Text/index.html#background_what)
* [16.2.2 job control 的管理:&, [ctrl]-z, jobs, kill](../Text/index.html#background_run)
* [16.2.3 離線管理問題: nohup](../Text/index.html#background_term)
* [16.3 程序管理](../Text/index.html#process)
* [16.3.1 程序的觀察: ps -l,ps aux, top,pstree](../Text/index.html#process_1)
* [16.3.2 程序的管理: signal, kill, killall](../Text/index.html#process_2)
* [16.3.3 關于程序的執行順序: priority, nice, renice](../Text/index.html#priority)
* [16.3.4 系統資源的觀察: free, uname, uptime, netstat, vmstat](../Text/index.html#process_3)
* [16.4 特殊文件與程序](../Text/index.html#special)
* [16.4.1 具有 SUID/SGID 權限的指令執行狀態](../Text/index.html#suid_sgid)
* [16.4.2 /proc/* 代表的意義](../Text/index.html#proc)
* [16.4.3 查詢已打開文件或已執行程序打開之文件: fuser, lsof, pidof](../Text/index.html#ofile)
* [16.5 SELinux 初探](../Text/index.html#selinux)
* [16.5.1 什么是 SELinux: 目標, DAC,MAC](../Text/index.html#selinux_what)
* [16.5.2 SELinux 的運行模式: 元件, 安全性本文,domain/type](../Text/index.html#selinux_run)
* [16.5.3 SELinux 三種模式的啟動、關閉與觀察: getenforce,sestatus, setenforce](../Text/index.html#selinux_get)
* [16.5.4 SELinux 政策內的規則管理: getsebool, seinfo, sesearch, setsebool](../Text/index.html#selinux_policy)
* [16.5.5 SELinux 安全本文的修改:chcon, restorecon,semanage](../Text/index.html#selinux_chcon)
* [16.5.6 一個網絡服務案例及登錄文件協助:所需服務, FTP 實例, 匿名者范例, 一般用戶主文件夾, 非正規目錄, 非正規 port](../Text/index.html#selinux_ftp)
* [16.6 重點回顧](../Text/index.html#hint)
* [16.7 本章習題](../Text/index.html#ex)
* [16.8 參考資料與延伸閱讀](../Text/index.html#reference)
## 第五部分:Linux 系統管理員
嗯!終于來到系統管理員 ( root ) 要注意的工作事項之篇幅了!各位準系統管理員心理準備好了嗎? 我們要管理機器啰,呵呵!那么管理員的工作是什么?看報喝茶?!沒錯!管理員最大的享受就是看報喝茶了。 一個好的系統管理員,平時不會希望掛載網站上面一再不斷的查詢、檢查漏洞等等的, 因為果真如此的話,那么就表示“機器一定有問題了!”。為了讓我們的 Linux 機器跑得更穩更順暢,好讓我這個管理員有更多的時間去看報喝茶,哈哈! 更深入的了解系統是需要的!所以,這一篇我們由開機關機的整體流程談起,好了解一下 Linux 在開機的過程中到底做了哪些事情,這樣才能知道我們在什么時候應該做什么事情吶!
此外,由于“沒有一個套件是永遠安全的!”,所以套件管理是相當重要的一部份,這里我們以 RPM 與 Tarball 來介紹一下如何管理你系統上面的套件。再來,你知道你的系統上面跑了多少數據嗎? 雖然知道什么是 ps 來查詢程序,但是總是得知道我的系統有哪些服務吧!嘿嘿! 來看看先?不但如此,還得針對登錄文件進行解析,以及對于系統進行備份。呵呵! 管理員的工作還真多那。不止不止,還要進行核心的管理呢!哇!果然是忙斃了!無論如何, 還是得要了解吶!
### 第十七章 認識系統服務(daemon)
在 Unix-Like 的系統中,你常常聽到 daemon 這個字眼!那么什么是傳說中的 daemon 呢?這些 daemon 放在什么地方?他的功能是什么?該如何啟動這些 daemon ?又如何有效的將這些 daemon 管理妥當.....2015/08/14
* [17.1 什么是 daemon 與服務 (service)](../Text/index.html#daemon)
* [17.1.1 早期 Systemp V 的 init 管理行為中 daemon 的主要分類](../Text/index.html#daemon_type_init)
* [17.1.2 systemd 使用的 unit 分類](../Text/index.html#daemon_type_systemd)
* [17.2 通過 systemctl 管理服務](../Text/index.html#systemctl_cmd)
* [17.2.1 通過 systemctl 管理單一服務 (service unit) 的啟動/開機啟動與觀察狀態](../Text/index.html#systemctl_start)
* [17.2.2 通過 systemctl 觀察系統上所有的服務](../Text/index.html#systemctl_list)
* [17.2.3 通過 systemctl 管理不同的操作環境 (target unit)](../Text/index.html#systemctl_target)
* [17.2.4 通過 systemctl 分析各服務之間的相依性](../Text/index.html#systemctl_deps)
* [17.2.5 與 systemd 的 daemon 運行過程相關的目錄簡介:/etc/services](../Text/index.html#systemctl_files)
* [17.2.6 關閉網絡服務](../Text/index.html#systemctl_network)
* [17.3 systemctl 針對 service 類型的配置文件](../Text/index.html#systemd_cfg)
* [17.3.1 systemctl 配置文件相關目錄簡介](../Text/index.html#systemd_cfg_dir)
* [17.3.2 systemctl 配置文件的設置項目簡介](../Text/index.html#systemd_cfg_options)
* [17.3.3 兩個 vsftpd 運行的實例](../Text/index.html#systemd_cfg_vsftpd)
* [17.3.4 多重的重復設置方式:以 getty 為例](../Text/index.html#systemd_cfg_repeat)
* [17.3.5 自己的服務自己作](../Text/index.html#systemd_cfg_custom)
* [17.4 systemctl 針對 timer 的配置文件](../Text/index.html#systemctl_timer)
* [17.5 CentOS 7.x 默認啟動的服務簡易說明](../Text/index.html#illustrations)
* [17.6 重點回顧](../Text/index.html#hint)
* [17.7 本章習題](../Text/index.html#ex)
* [17.8 參考資料與延伸閱讀](../Text/index.html#reference)
### 第十八章 認識與分析登錄文件
當你的 Linux 系統出現不明原因的問題時,很多人都告訴你,你要查閱一下登錄文件才能夠知道系統出了什么問題了, 所以說,了解登錄文件是很重要的事情呢。登錄文件可以記錄系統在什么時間、哪個主機、哪個服務.....2015/08/20
* [18.1 什么是登錄文件](../Text/index.html#whatis_syslog):
* [18.1.1 CentOS 7 登錄文件簡易說明:重要性, 常見文件名,服務與程序,systemd-journald](../Text/index.html#whatis_syslog_1)
* [18.1.2 登錄文件內容的一般格式](../Text/index.html#whatis_syslog_2)
* [18.2 rsyslog.service :記錄登錄文件的服務](../Text/index.html#syslogd)
* [18.2.1 rsyslog.service 的配置文件: /etc/rsyslog.conf, 默認的 rsyslog.conf 內容](../Text/index.html#syslogd_conf)
* [18.2.2 登錄文件的安全性設置](../Text/index.html#syslogd_secure)
* [18.2.3 登錄文件服務器的設置](../Text/index.html#syslogd_server)
* [18.3 登錄文件的輪替 (logrotate)](../Text/index.html#rotate)
* [18.3.1 logrotate 的配置文件](../Text/index.html#rotate_config)
* [18.3.2 實際測試 logrotate 的動作](../Text/index.html#rotate_command)
* [18.3.3 自訂登錄文件的輪替功能](../Text/index.html#rotate_user)
* [18.4 systemd-journald.service 簡介](../Text/index.html#journal):
* [18.4.1 使用 journalctl 觀察登錄信息](../Text/index.html#journalctl)
* [18.4.2 logger 指令的應用](../Text/index.html#logger)
* [18.4.3 保存 journal 的方式](../Text/index.html#journal_save)
* [18.5 分析登錄文件](../Text/index.html#analyze)
* [18.5.1 CentOS 默認提供的 logwatch](../Text/index.html#logwatch)
* [18.5.2 鳥哥自己寫的登錄文件分析工具:](../Text/index.html#analyze_vbird)
* [18.6 重點回顧](../Text/index.html#hint)
* [18.7 本章習題練習](../Text/index.html#ex)
* [18.8 參考資料與延伸閱讀](../Text/index.html#reference)
### 第十九章 開機流程、模塊管理與 loader
系統開機其實是一項非常復雜的程序,因為核心得要偵測硬件并載入適當的驅動程序后, 接下來則必須要調用程序來準備好系統運行的環境,以讓使用者能夠順利的操作整部主機系統。 如果你能夠理解開機的原理.....2015/08/31
* [19.1 Linux 的開機流程分析](../Text/index.html#startup)
* [19.1.1 開機流程一覽](../Text/index.html#startup_intro)
* [19.1.2 BIOS, boot loader 與 kernel 載入:lsinitrd](../Text/index.html#startup_loader)
* [19.1.3 第一支程序 systemd 及使用 default.target 進入開機程序分析](../Text/index.html#startup_init)
* [19.1.4 systemd 執行 sysinit.target 初始化系統、basic.target 準備系統](../Text/index.html#startup_sysinit)
* [19.1.5 systemd 啟動 multi-user.target 下的服務:相容的 rc.local,getty.target 啟動](../Text/index.html#startup_runlevel)
* [19.1.6 systemd 啟動 graphical.target 下面的服務](../Text/index.html#startup_term)
* [19.1.7 開機過程會用到的主要配置文件](../Text/index.html#startup_other)
* [19.2 核心與核心模塊](../Text/index.html#kernel)
* [19.2.1 核心模塊與相依性: depmod](../Text/index.html#kernel_depmod)
* [19.2.2 核心模塊的觀察: lsmod, modinfo](../Text/index.html#kernel_look)
* [19.2.3 核心模塊的載入與移除:insmod, modprobe, rmmod](../Text/index.html#kernel_load)
* [19.2.4 核心模塊的額外參數設置:/etc/modprobe.d/*conf](../Text/index.html#kernel_modprobe)
* [19.3 Boot loader: Grub2](../Text/index.html#grub)
* [19.3.1 boot loader 的兩個 stage](../Text/index.html#grub_loader)
* [19.3.2 grub2 的配置文件 /boot/grub2/grub.cfg 初探: 磁盤代號, grub.cfg](../Text/index.html#grub_menulist)
* [19.3.3 grub2 配置文件維護 /etc/default/grub 與 /etc/grub.d:grub,40_custom](../Text/index.html#grub_grub.d)
* [19.3.4 initramfs 的重要性與創建新 initramfs 文件: dracut/mkinitrd](../Text/index.html#grub_initrd)
* [19.3.5 測試與安裝 grub2: grub2-install](../Text/index.html#grub_install)
* [19.3.6 開機前的額外功能修改](../Text/index.html#grub_other)
* [19.3.7 關于開機畫面與終端機畫面的圖形顯示方式](../Text/index.html#grub_vga)
* [19.3.8 為個別菜單加上密碼: grub2-mkpasswd-pbkdf2](../Text/index.html#grub_password)
* [19.4 開機過程的問題解決](../Text/index.html#solution)
* [19.4.1 忘記 root 密碼的解決之道](../Text/index.html#solution_root)
* [19.4.2 直接開機就以 root 執行 bash 的方法](../Text/index.html#solution_init)
* [19.4.3 因文件系統錯誤而無法開機](../Text/index.html#solution_config)
* [19.5 重點回顧](../Text/index.html#hint)
* [19.6 本章習題](../Text/index.html#ex)
* [19.7 參考資料與延伸閱讀](../Text/index.html#reference)
### 第二十章 網絡設置與備份策略
新的 CentOS 7 有針對不同的服務提供了相當大量的命令行設置模式,因此過去那個 setup 似乎沒有什么用了! 取而代之的是許多加入了 bash-complete 提供了不少參數補全的設置工具!甚至包括網絡設置也是通過這個機制哩! 我們這個小章.....2015/09/03
* [20.1 系統基本設置](../Text/index.html#basic)
* [20.1.1 網絡設置 (手動設置與DHCP自動取得):手動,自動,改主機名稱](../Text/index.html#basic_network)
* [20.1.2 日期與時間設置](../Text/index.html#basic_date)
* [20.1.3 語系設置](../Text/index.html#basic_lang)
* [20.1.4 防火墻簡易設置](../Text/index.html#basic_firewall)
* [20.2 服務器硬件數據的收集](../Text/index.html#hw)
* [20.2.1 以系統內置 dmidecode 解析硬件配備](../Text/index.html#hw_mb)
* [20.2.2 硬件資源的收集與分析: lspci, lsusb,iostat...](../Text/index.html#hw_pre_find)
* [20.2.3 了解磁盤的健康狀態](../Text/index.html#hw_hd)
* [20.3 備份要點](../Text/index.html#backup_hint)
* [20.3.1 備份數據的考慮](../Text/index.html#who_need_backup)
* [20.3.2 哪些 Linux 數據具有備份的意義](../Text/index.html#what_data_must_backup)
* [20.3.3 備份用儲存媒體的選擇](../Text/index.html#what_media)
* [20.4 備份的種類、頻率與工具的選擇](../Text/index.html#backup_type)
* [20.4.1 完整備份之累積備份 (Incremental backup),使用軟件](../Text/index.html#full_incremental)
* [20.4.2 完整備份之差異備份 (Differential backup)](../Text/index.html#full_differential)
* [20.4.3 關鍵數據備份](../Text/index.html#key_file)
* [20.5 VBird 的備份策略與 scripts](../Text/index.html#VBird_strategy)
* [20.5.1 每周系統備份的 script](../Text/index.html#all_back)
* [20.5.2 每日備份數據的 script](../Text/index.html#daily)
* [20.5.3 遠端備援的 script](../Text/index.html#remote)
* [20.6 災難復原的考慮](../Text/index.html#restore)
* [20.7 重點回顧](../Text/index.html#hint)
* [20.8 本章習題](../Text/index.html#ex)
* [20.9 參考資料與延伸閱讀](../Text/index.html#reference)
### 第二十一章 軟件安裝:源代碼與 Tarball
我們在第一章、Linux是什么當中提到了 GNU 計劃與 GPL 授權所產生的自由軟件與開放源碼等咚咚。 不過,前面的章節都還沒有提到真正的開放源碼是什么的訊息!在這一章當中,我們將借由 Linux 操作系統里面的可執行文件.....2015/09/06
* [21.1 開放源碼的軟件安裝與升級簡介](../Text/index.html#intro)
* [21.1.1 什么是開放源碼、編譯器與可可執行文件](../Text/index.html#intro_whatisopensource)
* [21.1.2 什么是函數庫](../Text/index.html#intro_library)
* [21.1.3 什么是 make 與 configure](../Text/index.html#intro_make)
* [21.1.4 什么是 Tarball 的軟件](../Text/index.html#intro_tarball)
* [21.1.5 如何安裝與升級軟件](../Text/index.html#intro_howto)
* [21.2 使用傳統程序語言進行編譯的簡單范例](../Text/index.html#simple_ex)
* [21.2.1 單一程序:印出 Hello World](../Text/index.html#simple_ex_hello)
* [21.2.2 主、副程序鏈接:副程序的編譯](../Text/index.html#simple_ex_function)
* [21.2.3 調用外部函數庫:加入鏈接的函數庫](../Text/index.html#simple_ex_lib)
* [21.2.4 gcc 的簡易用法 (編譯、參數與鏈結)](../Text/index.html#simple_ex_gcc)
* [21.3 用 make 進行宏編譯](../Text/index.html#make)
* [21.3.1 為什么要用 make](../Text/index.html#make_why)
* [21.3.2 makefile 的基本語法與變量](../Text/index.html#make_makefile)
* [21.4 Tarball 的管理與建議](../Text/index.html#tarball)
* [21.4.1 使用源代碼管理軟件所需要的基礎軟件](../Text/index.html#tarball_pack)
* [21.4.2 Tarball 安裝的基本步驟](../Text/index.html#tarball_step)
* [21.4.3 一般 Tarball 軟件安裝的建議事項 (如何移除?升級?)](../Text/index.html#tarball_common)
* [21.4.4 一個簡單的范例、利用 ntp 來示范](../Text/index.html#tarball_exntp)
* [21.4.5 利用 patch 更新源代碼](../Text/index.html#tarball_patch)
* [21.5 函數庫管理](../Text/index.html#library)
* [21.5.1 動態與靜態函數庫](../Text/index.html#library_dyna_sta)
* [21.5.2 ldconfig 與 /etc/ld.so.conf](../Text/index.html#library_ldconfig)
* [21.5.3 程序的動態函數庫解析: ldd](../Text/index.html#ldd)
* [21.6 檢驗軟件的正確性](../Text/index.html#check)
* [21.6.1 md5sum / sha1sum / sha256sum](../Text/index.html#check_md5sum)
* [21.7 重點回顧](../Text/index.html#hint)
* [21.8 課后練習](../Text/index.html#ex)
* [21.9 參考資料與延伸閱讀](../Text/index.html#reference)
### 第二十二章 軟件安裝:RPM, SRPM 與 YUM 功能
雖然使用源代碼進行編譯可以進行客制化的設置,但對于 Linux distribution 的原本發布商來說, 則有軟件管理不易的問題, 畢竟不是每個人都會進行源代碼編譯的。 如果能夠將軟件預先在相同的硬件與操作系統上面編譯好才發布的話.....2015/09/09
* [22.1 軟件管理員簡介](../Text/index.html#intro)
* [22.1.1 Linux 界的兩大主流: RPM 與 DPKG](../Text/index.html#intro_import2)
* [22.1.2 什么是 RPM 與 SRPM](../Text/index.html#intro_whatisrpm)
* [22.1.3 什么是 i386, i586, i686, noarch, x86_64](../Text/index.html#intro_i386586)
* [22.1.4 RPM 的優點](../Text/index.html#intro_advance)
* [22.1.5 RPM 屬性相依的克服方式: YUM 線上升級](../Text/index.html#intro_solution)
* [22.2 RPM 軟件管理程序: rpm](../Text/index.html#rpmmanager)
* [22.2.1 RPM 默認安裝的路徑](../Text/index.html#rpmmanager_dir)
* [22.2.2 RPM 安裝 (install)](../Text/index.html#rpmmanager_install)
* [22.2.3 RPM 升級與更新 (upgrade/freshen)](../Text/index.html#rpmmanager_update)
* [22.2.4 RPM 查詢 (query)](../Text/index.html#rpmmanager_query)
* [22.2.5 RPM 驗證與數碼簽章 (Verify/signature)](../Text/index.html#rpmmanager_verify)
* [22.2.6 RPM 反安裝與重建數據庫 (erase/rebuilddb)](../Text/index.html#rpmmanager_rebuild)
* [22.3 YUM 線上升級機制](../Text/index.html#yumclient)
* [22.3.1 利用 yum 進行查詢、安裝、升級與移除功能](../Text/index.html#yumclient_yum)
* [22.3.2 yum 的配置文件](../Text/index.html#yumclient_config)
* [22.3.3 yum 的軟件群組功能](../Text/index.html#yumclient_group)
* [22.3.4 EPEL/ELRepo 外掛軟件以及自訂配置文件](../Text/index.html#yumclient_epel)
* [22.3.5 全系統自動升級](../Text/index.html#yumclient_system)
* [22.3.6 管理的抉擇:RPM 還是 Tarball](../Text/index.html#rpmortarball)
* [22.3.7 基礎服務管理:以 Apache 為例](../Text/index.html#servicenow)
* [22.4 SRPM 的使用: rpmbuild (Optional)](../Text/index.html#srpmmanager)
* [22.4.1 利用默認值安裝 SRPM 文件 (--rebuid/--recompile)](../Text/index.html#srpmmanager_rebuild)
* [22.4.2 SRPM 使用的路徑與需要的軟件](../Text/index.html#srpmmanager_dir)
* [22.4.3 配置文件的主要內容 (*.spec)](../Text/index.html#srpmmanager_config)
* [22.4.4 SRPM 的編譯指令 (-ba/-bb)](../Text/index.html#srpmmanager_command)
* [22.4.5 一個打包自己軟件的范例](../Text/index.html#srpmmanager_myself)
* [22.5 重點回顧](../Text/index.html#hint)
* [22.6 本章習題](../Text/index.html#ex)
* [22.7 參考資料與延伸閱讀](../Text/index.html#reference)
### 第二十三章 X Window 設置介紹
在 Linux 上頭的圖形接口我們稱之為 X Window System,簡稱為 X 或 X11 啰!為何稱之為系統呢?這是因為 X 窗口系統又分為 X server 與 X client ,既然是 Server/Client (主從架構) 這就表示其實 X 窗口系統是可以跨網絡且跨平臺的.....2015/09/19
* [23.1 什么是 X Window System](../Text/index.html#xwin)
* [23.1.1 X Window 的發展簡史](../Text/index.html#xwin_history)
* [23.1.2 主要元件: X Server/X Client/Window Manager/Display Manager](../Text/index.html#xwin_s_c_wm)
* [23.1.3 X Window 的啟動流程:startx, xinit](../Text/index.html#xwin_startup)
* [23.1.4 X 啟動流程測試](../Text/index.html#xwin_test)
* [23.1.5 我是否需要啟用 X Window System](../Text/index.html#xwin_why)
* [23.2 X Server 配置文件解析與設置](../Text/index.html#xserver)
* [23.2.1 解析 xorg.conf 設置](../Text/index.html#xserver_xorg)
* [23.2.2 字體管理](../Text/index.html#xserver_xfs)
* [23.2.3 顯示器參數微調](../Text/index.html#xserver_gen)
* [23.3 顯卡驅動程序安裝范例](../Text/index.html#driver)
* [23.3.1 NVidia](../Text/index.html#nvidia)
* [23.3.2 AMD (ATI)](../Text/index.html#ati)
* [23.3.3 Intel](../Text/index.html#intel)
* [23.4 重點回顧](../Text/index.html#hint)
* [23.5 本章習題](../Text/index.html#ex)
* [23.6 參考資料與延伸閱讀](../Text/index.html#reference)
### 第二十四章 核心編譯
我們說的 Linux 其實指的就是核心 (kernel) 而已。這個核心控制你主機的所有硬件并提供系統所有的功能, 所以說,他重不重要啊!我們開機的時候其實就是利用開機管理程序載入這個核心文件來偵測硬件, 在核心載入適當的驅動程序后.....2015/10/20
* [24.1 編譯前的任務:認識核心與取得核心源代碼](../Text/index.html#intro)
* [24.1.1 什么是核心 (Kernel)](../Text/index.html#intro_whatiskernel)
* [24.1.2 更新核心的目的](../Text/index.html#intro_whyrecompile)
* [24.1.3 核心的版本](../Text/index.html#intro_kernel_version)
* [24.1.4 核心源代碼的取得方式](../Text/index.html#kernel_source):distributions 默認、最新、patch
* [21.1.5 核心源代碼的解壓縮/安裝/觀察](../Text/index.html#kernel_source_install)
* [24.2 核心編譯的前處理與核心功能選擇](../Text/index.html#config)
* [24.2.1 硬件環境檢視與核心功能要求](../Text/index.html#config_hw)
* [24.2.2 保持干凈源代碼: make mrproper](../Text/index.html#config_mrproper)
* [24.2.3 開始挑選核心功能: make XXconfig](../Text/index.html#config_config)
* [24.2.4 核心功能細項選擇](../Text/index.html#config_kernel)
1. [一般設置(General setup)](../Text/index.html#general):附加版本名稱、IPC 通訊、程序相關等
2. [核心模塊與 block layer 支持](../Text/index.html#load)
3. [CPU 的類型與功能選擇(含虛擬化技術)](../Text/index.html#cpu)
4. [電源管理功能](../Text/index.html#power)
5. [核心的網絡功能](../Text/index.html#networking)
6. [各項設備的驅動程序](../Text/index.html#device)
7. [文件系統的支持](../Text/index.html#filesystem)
8. [虛擬化與函數庫](../Text/index.html#virt)
* [24.3 核心的編譯與安裝](../Text/index.html#make)
* [24.3.1 編譯核心與核心模塊](../Text/index.html#make_kernel)
* [24.3.2 實際安裝模塊](../Text/index.html#make_module)
* [24.3.3 開始安裝新核心與多重核心菜單 (grub)](../Text/index.html#make_install)
* [24.4 額外(單一)核心模塊編譯](../Text/index.html#module)
* [24.4.1 編譯前注意事項](../Text/index.html#module_before)
* [24.4.2 單一模塊編譯](../Text/index.html#module_compile)
* [24.4.3 核心模塊管理](../Text/index.html#module_mod)
* [24.5 以最新核心版本編譯 CentOS 7.x 的核心](../Text/index.html#mainline)
* [24.6 重點回顧](../Text/index.html#hint)
* [24.7 本章習題](../Text/index.html#ex)
* [24.8 參考資料與延伸閱讀](../Text/index.html#reference)
- 鳥哥的Linux私房菜:基礎學習篇 第四版
- 目錄及概述
- 第零章、計算機概論
- 0.1 電腦:輔助人腦的好工具
- 0.2 個人電腦架構與相關設備元件
- 0.3 數據表示方式
- 0.4 軟件程序運行
- 0.5 重點回顧
- 0.6 本章習題
- 0.7 參考資料與延伸閱讀
- 第一章、Linux是什么與如何學習
- 1.1 Linux是什么
- 1.2 Torvalds的Linux發展
- 1.3 Linux當前應用的角色
- 1.4 Linux 該如何學習
- 1.5 重點回顧
- 1.6 本章習題
- 1.7 參考資料與延伸閱讀
- 第二章、主機規劃與磁盤分區
- 2.1 Linux與硬件的搭配
- 2.2 磁盤分區
- 2.3 安裝Linux前的規劃
- 2.4 重點回顧
- 2.5 本章習題
- 2.6 參考資料與延伸閱讀
- 第三章、安裝 CentOS7.x
- 3.1 本練習機的規劃--尤其是分區參數
- 3.2 開始安裝CentOS 7
- 3.3 多重開機安裝流程與管理(Option)
- 3.4 重點回顧
- 3.5 本章習題
- 3.6 參考資料與延伸閱讀
- 第四章、首次登陸與線上求助
- 4.1 首次登陸系統
- 4.2 文字模式下指令的下達
- 4.3 Linux系統的線上求助man page與info page
- 4.4 超簡單文書編輯器: nano
- 4.5 正確的關機方法
- 4.6 重點回顧
- 4.7 本章習題
- 4.8 參考資料與延伸閱讀
- 第五章、Linux 的文件權限與目錄配置
- 5.1 使用者與群組
- 5.2 Linux 文件權限概念
- 5.3 Linux目錄配置
- 5.4 重點回顧
- 5.5 本章練習
- 5.6 參考資料與延伸閱讀
- 第六章、Linux 文件與目錄管理
- 6.1 目錄與路徑
- 6.2 文件與目錄管理
- 6.3 文件內容查閱
- 6.4 文件與目錄的默認權限與隱藏權限
- 6.5 指令與文件的搜尋
- 6.6 極重要的復習!權限與指令間的關系
- 6.7 重點回顧
- 6.8 本章習題:
- 6.9 參考資料與延伸閱讀
- 第七章、Linux 磁盤與文件系統管理
- 7.1 認識 Linux 文件系統
- 7.2 文件系統的簡單操作
- 7.3 磁盤的分區、格式化、檢驗與掛載
- 7.4 設置開機掛載
- 7.5 內存交換空間(swap)之創建
- 7.6 文件系統的特殊觀察與操作
- 7.7 重點回顧
- 7.8 本章習題 - 第一題一定要做
- 7.9 參考資料與延伸閱讀
- 第八章、文件與文件系統的壓縮,打包與備份
- 8.1 壓縮文件的用途與技術
- 8.2 Linux 系統常見的壓縮指令
- 8.3 打包指令: tar
- 8.4 XFS 文件系統的備份與還原
- 8.5 光盤寫入工具
- 8.6 其他常見的壓縮與備份工具
- 8.7 重點回顧
- 8.8 本章習題
- 8.9 參考資料與延伸閱讀
- 第九章、vim 程序編輯器
- 9.1 vi 與 vim
- 9.2 vi 的使用
- 9.3 vim 的額外功能
- 9.4 其他 vim 使用注意事項
- 9.5 重點回顧
- 9.6 本章練習
- 9.7 參考資料與延伸閱讀
- 第十章、認識與學習BASH
- 10.1 認識 BASH 這個 Shell
- 10.2 Shell 的變量功能
- 10.3 命令別名與歷史命令
- 10.4 Bash Shell 的操作環境:
- 10.5 數據流重導向
- 10.6 管線命令 (pipe)
- 10.7 重點回顧
- 10.8 本章習題
- 10.9 參考資料與延伸閱讀
- 第十一章、正則表達式與文件格式化處理
- 11.1 開始之前:什么是正則表達式
- 11.2 基礎正則表達式
- 11.3 延伸正則表達式
- 11.4 文件的格式化與相關處理
- 11.5 重點回顧
- 11.6 本章習題
- 11.7 參考資料與延伸閱讀
- 第十二章、學習 Shell Scripts
- 12.1 什么是 Shell scripts
- 12.2 簡單的 shell script 練習
- 12.3 善用判斷式
- 12.4 條件判斷式
- 12.5 循環 (loop)
- 12.6 shell script 的追蹤與 debug
- 12.7 重點回顧
- 12.8 本章習題
- 第十三章、Linux 帳號管理與 ACL 權限設置
- 13.1 Linux 的帳號與群組
- 13.2 帳號管理
- 13.3 主機的細部權限規劃:ACL 的使用
- 13.4 使用者身份切換
- 13.5 使用者的特殊 shell 與 PAM 模塊
- 13.6 Linux 主機上的使用者訊息傳遞
- 13.7 CentOS 7 環境下大量創建帳號的方法
- 13.8 重點回顧
- 13.9 本章習題
- 13.10 參考資料與延伸閱讀
- 第十四章、磁盤配額(Quota)與進階文件系統管理
- 14.1 磁盤配額 (Quota) 的應用與實作
- 14.2 軟件磁盤陣列 (Software RAID)
- 14.3 邏輯卷軸管理員 (Logical Volume Manager)
- 14.4 重點回顧
- 14.5 本章習題
- 14.6 參考資料與延伸閱讀
- 第十五章、例行性工作調度(crontab)
- 15.1 什么是例行性工作調度
- 15.2 僅執行一次的工作調度
- 15.3 循環執行的例行性工作調度
- 15.4 可喚醒停機期間的工作任務
- 15.5 重點回顧
- 15.6 本章習題
- 第十六章、程序管理與 SELinux 初探
- 16.1 什么是程序 (process)
- 16.2 工作管理 (job control)
- 16.3 程序管理
- 16.4 特殊文件與程序
- 16.5 SELinux 初探
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考資料與延伸閱讀
- 第十七章、認識系統服務 (daemons)
- 17.1 什么是 daemon 與服務 (service)
- 17.2 通過 systemctl 管理服務
- 17.3 systemctl 針對 service 類型的配置文件
- 17.4 systemctl 針對 timer 的配置文件
- 17.5 CentOS 7.x 默認啟動的服務簡易說明
- 17.6 重點回顧
- 17.7 本章習題
- 17.8 參考資料與延伸閱讀
- 第十八章、認識與分析登錄文件
- 18.1 什么是登錄文件
- 18.2 rsyslog.service :記錄登錄文件的服務
- 18.3 登錄文件的輪替(logrotate)
- 18.4 systemd-journald.service 簡介
- 18.5 分析登錄文件
- 18.6 重點回顧
- 18.7 本章習題
- 18.8 參考資料與延伸閱讀
- 第十九章、開機流程、模塊管理與 Loader
- 19.1 Linux 的開機流程分析
- 19.2 核心與核心模塊
- 19.3 Boot Loader: Grub2
- 19.4 開機過程的問題解決
- 19.5 重點回顧
- 19.6 本章習題
- 19.7 參考資料與延伸閱讀
- 第二十章、基礎系統設置與備份策略
- 20.1 系統基本設置
- 20.2 服務器硬件數據的收集
- 20.3 備份要點
- 20.4 備份的種類、頻率與工具的選擇
- 20.5 鳥哥的備份策略
- 20.6 災難復原的考慮
- 20.7 重點回顧
- 20.8 本章習題
- 20.9 參考資料與延伸閱讀
- 第二十一章、軟件安裝:源代碼與 Tarball
- 20.1 開放源碼的軟件安裝與升級簡介
- 21.2 使用傳統程序語言進行編譯的簡單范例
- 21.3 用 make 進行宏編譯
- 21.4 Tarball 的管理與建議
- 21.5 函數庫管理
- 21.6 檢驗軟件正確性
- 21.7 重點回顧
- 21.8 本章習題
- 21.9 參考資料與延伸閱讀
- 第二十二章、軟件安裝 RPM, SRPM 與 YUM
- 22.1 軟件管理員簡介
- 22.2 RPM 軟件管理程序: rpm
- 22.3 YUM 線上升級機制
- 22.4 SRPM 的使用 : rpmbuild (Optional)
- 22.5 重點回顧
- 22.6 本章習題
- 22.7 參考資料與延伸閱讀
- 第二十三章、X Window 設置介紹
- 23.1 什么是 X Window System
- 23.2 X Server 配置文件解析與設置
- 23.3 顯卡驅動程序安裝范例
- 23.4 重點回顧
- 23.5 本章習題
- 23.6 參考資料與延伸閱讀
- 第二十四章、Linux 核心編譯與管理
- 24.1 編譯前的任務:認識核心與取得核心源代碼
- 24.2 核心編譯的前處理與核心功能選擇
- 24.3 核心的編譯與安裝
- 24.4 額外(單一)核心模塊編譯
- 24.5 以最新核心版本編譯 CentOS 7.x 的核心
- 24.6 重點回顧
- 24.7 本章習題
- 24.8 參考資料與延伸閱讀