鳥哥的 Linux 私房菜

鳥哥的 Linux 私房菜 - 基礎學習篇目錄


底下的幾篇文章是學習Linux的基礎文件,這些文件是基礎中的基礎,如果您能將其中的文件都看完並且消化過,那麼未來在管理 Linux主機以及架設網站方面,就能夠達到『事半功倍』的成效,請不要忽略這部份了!否則,再怎麼討論都是枉然的啦!^_^。 因為Linux的資料非常的多,每份資料彼此的相關性都很強,要單獨的一項一項講解並不容易, 所以底下的文件該怎麼看呢?建議先按照順序將內容大致瀏覽過一次,看不懂的地方也可以先略過不要緊。 全部看完之後,再從頭開始『仔細』的實際操作過一遍,那應該就能夠進入Linux的世界囉~

另外,每篇文章底下的日期,指的是重大改版日期而非最新日期,每篇文章的最新日期請以該篇文章最下方的工作日誌為主的喔!

第一部份 Linux 的規劃與安裝

常常聽到Linux具有非常優良的血統,所以具有相當良好的多人多工環境,可以方便程式設計師來開發軟體。 此外,Linux本身是不用錢的『自由軟體』,使用上面並沒有所謂的『盜版』問題。但是,為什麼Linux不用錢? 隨便修改或發佈Linux為什麼不會被罰?為什麼Linux有這麼多的版本?包括Fedora, SuSE, CentOS, Debian等等? 這個都是我們必須要來瞭解的部分!瞭解這些部分,妳才會對Linux有一個正確的理解,才能夠跟你的同事、同學、 上司說明,為什麼使用Linux具有很多優點與好處! ^_^

Linux並不好學習,鳥哥也是『重傷』過好幾次才能對Linux有一些基礎的認知。那麼到底應該如何學習Linux呢?關鍵在實作。 既然要實作就得要實際的安裝一部Linux,那麼Linux要安裝前需要熟悉哪些基礎觀念?計算機概論是非常重要的一環! 因為Linux與硬體的關係還不小~此外,打造一台Windows/Linux共存的主機也是很有用的, 至少對於需要多平台但又缺乏空間與金錢的朋友來說,這樣的處理是非常有用的!

在第一篇裡面,我們會由計算機概論談起,再講到Linux的歷史淵源與自由軟體的關係,然後重點在於如何規劃硬體與Linux安裝, 最後談到如何登入與使用Linux圖形/文字介面的環境。本篇資料較多,第一次接觸Linux的新朋友, 很多資料若看不懂可以先略過,等到後續文章都讀完了再回來看,才會有幫助喔! ^_^

計算機概論
2015/04/16
鳥哥在大專院校的教學經驗中發現到,由於對 Linux 有興趣的朋友很多可能並非資訊相關科系出身, 因此對於電腦硬體及計算機方面的概念不熟。然而作業系統這種咚咚跟硬體 .....
Linux是什麼/如何學習
2015/04/23
眾所皆知的,Linux的核心原型是1991年由托瓦茲(Linus Torvalds)寫出來的,但是托瓦茲為何可以寫出Linux這個作業系統? 為什麼他要選擇386的電腦來開發?為什麼Linux的發展可以這麼迅速?又為什麼Linux是免費的?.....
主機規劃與磁碟分割
2015/04/28
事實上,要安裝好一部Linux主機並不是那麼簡單的事情,你必須要針對distributions的特性、伺服器的軟體能力、 未來的升級需求、硬體擴充性需求等等來考量,還得要知道磁碟分割、檔案系統.....
安裝CentOS 7.x
與多重開機技巧

2015/05/06
Linux distributions越作越成熟,所以在安裝方面也越來越簡單!雖然安裝非常的簡單, 但是剛剛前一章所談到的基礎認知還是需要瞭解的,包括MBR, partition, boot loader, mount, software的.....
首次登入與
線上求助 man page

2015/06/02
終於可以開始使用Linux這個有趣的系統了!由於Linux系統使用了非同步的磁碟/記憶體資料傳輸模式, 同時又是個多人多工的環境,所以你不能隨便的不正常關機,關機有一定的程序喔!錯誤的關機方法.....

第二部分 Linux 檔案、目錄與磁碟格式

安裝完了 Linux 之後,接著下來自然就是要使用他了!我們在 開機與關機及簡易指令操作 稍微說明了指令下達的方法,以及指令線上查詢的方式, 因此您可以輕易的使用指令列模式來進行諸多的動作與工作。那麼接著下來呢?當然就是想要知道 Linux 裡面有什麼東西囉,所以,在這一個部分當中,我們將介紹 Linux 最基本的檔案權限概念, 與每個檔案目錄所帶有的意涵。

當然囉,要瞭解權限的概念,那麼對於不同的『身份』就需要瞭解一下才行, 不同的身份的人,所建立的或擁有的檔案是否會相同呢?例如系統管理員與一般身份使用者的檔案? 當然不太一樣!除此之外,如果您的硬碟空間不足,需要增加硬碟時,應該要如何新增呢? 還有,記憶體不足的情況下,有沒有增進虛擬記憶體容量的方法?在接下來的幾個章節之中,我們將介紹 Linux 主要的檔案架構、以及磁碟在 Linux 當中該如何使用及掛載等問題。

Linux檔案權限與
目錄配置

2015/06/03
Linux最優秀的地方之一,就在於他的多人多工的環境。而為了讓各個使用者具有較保密的檔案資料, 因此檔案的權限管理就變的很重要了。 Linux一般將檔案可存取的身份分為三個類別,分別是 owner/group/other, 且三種身份各有read/write/execute.....
Linux檔案與目錄管理
2015/06/16
在第五章我們認識了Linux系統下的檔案權限概念以及目錄的配置說明。 在這個章節當中, 我們就直接來進一步的操作與管理檔案與目錄吧!包括在不同的目錄間變換、 建立與刪除目錄、建立與刪除檔案, 還有尋找檔案、查閱檔案內容.....
Linux 磁碟與
檔案系統管理

2015/06/26
系統管理員很重要的任務之一就是管理好自己的磁碟檔案系統,每個分割槽不可太大也不能太小,太大會造成磁碟容量的浪費, 太小則會產生檔案無法儲存的困擾。此外,我們在前面幾章談到的檔案權限與屬性中, 這些權限與屬性分別記錄在.....
檔案的壓縮與打包
2015/07/16
在 Linux 底下有相當多的壓縮指令可以運作喔!這些壓縮指令可以讓我們更方便從網路上面下載大型的檔案呢! 此外,我們知道在 Linux 底下的副檔名是沒有什麼很特殊的意義的,不過,針對這些壓縮指令所做出來的壓縮檔, 為了方便記憶.....

第三部分:學習 Shell 與 Shell scripts

瞭解了基本的 Linux 檔案屬性與目錄的配置之後,在進入更深入的 Linux 世界之前,有幾個課題還是一定要知道的,那就是我們所使用的這個文字模式介面,也就是所謂的『Shell』這個咚咚。在 Linux 的世界中,使用的是 GNU 發展出來的強化的第二代 shell ,稱為 BASH Shell ,他有什麼特異功能呢?簡單的說,我們之前下達的幾個指令都是 bash 管理的,除此之外, 他還可以記錄指令、檔案或命令的補全功能、環境變數的使用等等,還有很多功能等著你去發掘呢!

在知道了部分的 bash 功能後,在接著下來,我們還得瞭解一下什麼是資料流重導向?還有常規表示法等等的問題, 這都是未來我們系統管理員在管理主機上面,一個不可缺乏的利器!當然囉,要將這些功能整合起來運用的話, 就不能不學習一下所謂的腳本『 shell scripts 』,他具有基礎的程式能力( Program ),當真是個管理系統的好幫手呢!

再來,在未來的架站設定當中,常會使用到文字編輯器來編輯參數設定檔,這個時候, 系統管理員至少務必要熟悉一套文字介面下的文書編輯軟體,當然不限制哪一套軟體啦,但是 vi 是最標準的 Unix-Like 的文字介面之文書處理軟體,所以,我們幾乎一定可以在每部 Unix-Like 上面發現他的蹤跡,所以,就來瞭解他一下吧,這也是挺重要的工作呢!

vim程式編輯器
2015/07/07
系統管理員的重要工作就是得要修改與設定某些重要軟體的設定檔, 因此至少得要學會一種以上的文字介面的文書編輯器。 在所有版本的 Linux 上頭都會有的一套文書編輯器就是 vi ,而且很多軟體.....
認識與學習 BASH
2015/07/09
在 Linux 的環境下,如果你不懂 bash 是什麼,那麼其他的東西就不用學了! 因為前面幾章我們使用終端機下達指令的方式, 就是透過 bash 的環境來處理的喔! 所以說,他很重要吧!bash 的東西非常的多,包括變數.....
正規表示法與
文件格式化處理

2015/07/14
正規表示法 (Regular Expression, RE, 或稱為常規表示法)是透過一些特殊字元的排列, 用以『搜尋/取代/刪除』一列或多列文字字串, 簡單的說, 正規表示法就是用在字串的處理上面的一項『表示式』。正規表示法並.....
學習 shell scripts
2015/07/17
如果你真的很想要走資訊這條路,並且想要好好的管理好屬於你的主機,那麼,別說鳥哥不告訴你, 可以自動管理你的系統的好工具: Shell scripts 真的是得要好好學習學習的! 基本上, shell script 有點像是早期的批次檔,亦即是.....

第四部分:Linux 使用者管理

好了!終於要到了管理 Linux 帳號的時刻了!對於 Linux 有一定的熟悉度之後,再來就是要管理連上 Linux 的帳號問題了!這個帳號的問題可大可小啦!大到可以限制他使用 Linux 主機的各項資源,小到甚至一般帳號的密碼訂定規則都可以進行規定!端看您對於安全的需求啦! 此外,如果站在資源平均分配的角度上,那麼 Linux 主機上面有限的資源當然是平均分配給大家比較好!這個時候就得來規定一下『誰可以使用多少的硬碟空間?』那就是 Quota 喔!呵呵!厲害吧!

在訂定完了一些帳號的規則之後,那麼我們就繼續來管理一下主機的系統與程序的管理吧! 這個包括了觀察每個程序 (Process) 與工作排程及工作管理 ( jobs control ),這些也都是很重要的工作呢!

Linux 帳號管理與
ACL 權限控制

2015/07/22
要登入 Linux 系統一定要有帳號與密碼才行,否則怎麼登入,您說是吧?不過, 不同的使用者應該要擁有不同的權限才行吧?我們還可以透過 user/group 的特殊權限設定,來規範出不同的群組開發專案呢.....
磁碟配額(Quota)與
進階檔案系統管理

2015/07/28
如果您的 Linux 伺服器有多個用戶經常存取資料時,為了維護所有使用者在硬碟容量的公平使用,磁碟配額 (Quota) 就是一項非常有用的工具!另外,如果你的用戶常常抱怨磁碟容量不夠用,那麼更進階的檔案系統就得要學習學習.....
例行性工作排程 (crontab)
2015/07/31
學習了基礎篇也一陣子了,你會發現到為什麼系統常常會主動的進行一些任務? 這些任務到底是誰在設定工作的? 如果你想要讓自己設計的備份程式可以自動的在系統底下執行,.....
程序管理與
SELinux 初探

2015/08/08
一個程式被載入到記憶體當中運作,那麼在記憶體內的那個資料就被稱為程序(process)。程式是作業系統上非常重要的概念, 所有系統上面跑的資料都會以程序的型態存在。那麼系統的程序有哪些狀態.....

第五部分:Linux 系統管理員

嗯!終於來到系統管理員 ( root ) 要注意的工作事項之篇幅了!各位準系統管理員心理準備好了嗎? 我們要管理機器囉,呵呵!那麼管理員的工作是什麼?看報喝茶?!沒錯!管理員最大的享受就是看報喝茶了。 一個好的系統管理員,平時不會希望掛載網站上面一再不斷的查詢、檢查漏洞等等的, 因為果真如此的話,那麼就表示『機器一定有問題了!』。為了讓我們的 Linux 機器跑得更穩更順暢,好讓我這個管理員有更多的時間去看報喝茶,哈哈! 更深入的瞭解系統是需要的!所以,這一篇我們由開機關機的整體流程談起,好瞭解一下 Linux 在開機的過程中到底做了哪些事情,這樣才能知道我們在什麼時候應該做什麼事情吶!

此外,由於『沒有一個套件是永遠安全的!』,所以套件管理是相當重要的一部份,這裡我們以 RPM 與 Tarball 來介紹一下如何管理你系統上面的套件。再來,你知道你的系統上面跑了多少資料嗎? 雖然知道什麼是 ps 來查詢程序,但是總是得知道我的系統有哪些服務吧!嘿嘿! 來看看先?不但如此,還得針對登錄檔進行解析,以及對於系統進行備份。呵呵! 管理員的工作還真多那。不止不止,還要進行核心的管理呢!哇!果然是忙斃了!無論如何, 還是得要瞭解吶!

認識系統服務
(daemon)

2015/08/14
在 Unix-Like 的系統中,你常常聽到 daemon 這個字眼!那麼什麼是傳說中的 daemon 呢?這些 daemon 放在什麼地方?他的功能是什麼?該如何啟動這些 daemon ?又如何有效的將這些 daemon 管理妥當.....
認識與分析登錄檔
2015/08/20
當你的 Linux 系統出現不明原因的問題時,很多人都告訴你,你要查閱一下登錄檔才能夠知道系統出了什麼問題了, 所以說,了解登錄檔是很重要的事情呢。登錄檔可以記錄系統在什麼時間、哪個主機、哪個服務.....
開機流程、模組管理
與 loader

2015/08/31
系統開機其實是一項非常複雜的程序,因為核心得要偵測硬體並載入適當的驅動程式後, 接下來則必須要呼叫程序來準備好系統運作的環境,以讓使用者能夠順利的操作整部主機系統。 如果你能夠理解開機的原理.....
網路設定與備份策略
2015/09/03
新的 CentOS 7 有針對不同的服務提供了相當大量的指令列設定模式,因此過去那個 setup 似乎沒有什麼用了! 取而代之的是許多加入了 bash-complete 提供了不少參數補全的設定工具!甚至包括網路設定也是透過這個機制哩! 我們這個小章.....
軟體安裝:
原始碼與 Tarball

2015/09/06
我們在第一章、Linux是什麼當中提到了 GNU 計畫與 GPL 授權所產生的自由軟體與開放源碼等咚咚。 不過,前面的章節都還沒有提到真正的開放源碼是什麼的訊息!在這一章當中,我們將藉由 Linux 作業系統裡面的執行檔.....
軟體安裝:
RPM, SRPM 與 YUM 功能

2015/09/09
雖然使用原始碼進行編譯可以進行客製化的設定,但對於 Linux distribution 的原本發佈商來說, 則有軟體管理不易的問題, 畢竟不是每個人都會進行原始碼編譯的。 如果能夠將軟體預先在相同的硬體與作業系統上面編譯好才發佈的話.....
X Window 設定介紹
2015/09/19
在 Linux 上頭的圖形介面我們稱之為 X Window System,簡稱為 X 或 X11 囉!為何稱之為系統呢?這是因為 X 視窗系統又分為 X server 與 X client ,既然是 Server/Client (主從架構) 這就表示其實 X 視窗系統是可以跨網路且跨平台的.....
核心編譯
2015/10/20
我們說的 Linux 其實指的就是核心 (kernel) 而已。這個核心控制你主機的所有硬體並提供系統所有的功能, 所以說,他重不重要啊!我們開機的時候其實就是利用開機管理程式載入這個核心檔案來偵測硬體, 在核心載入適當的驅動程式後.....

第六部分:其他備份文章

這個部分的內容是鳥哥基於自己的需求而將某一時期的文章結合在一起,以方便鳥哥自己的查詢之用。 如果您使用的Linux distribution是舊的,那麼這個文件可能對你有幫助,不過,還是建議讀新的資料, 因為舊的資料可能會有些疏失啦!

內容大綱 主要內容說明
Linux 系統與指令練習題 
2002/06/28
趕快來試試看對於 Linux 瞭解有多深?!這裡的題目都只與基礎系統有關,其他的關於 Server 的部分將在以後才會擺上來。
SPFDISK 的一個範例 
2005/06/12
安裝 Linux 最重要的就是硬碟空間了!然而很抱歉的是, Windows 的 fdisk 並不認識 Linux 的磁碟格式!所以如果您已經安裝了 Linux 之後,卻想將該 partition ( 硬碟磁區 ) 刪除的話,那麼使用 Windows 的 FDISK 程式是無法做的!另外,使用 全中文spfdisk 也可以讓您更容易瞭解 fdisk 在做什麼工作呦!
較小安裝 Red Hat 7.2
2003/02/03 (Older)
終於要安裝 Red Hat Linux 了!呼~真是麻煩~那麼 Linux 的安裝模式有哪些呢? 嗯!基本上可以分為圖形安裝模式 ( 好消息是 Red Hat 7.3 已經支援中文安裝了 )與文字安裝模式, ....

那這是啥?整個網站歷經多次改版,從最早前的 Red Hat 版本到近來的 CentOS 6.x 版本,整個網站的修改與變更歷程! 除了 Red Hat 6.x 那時期的版本沒有出版之外,其他的內容則是每次出版時的狀態囉!可以查察改版的幅度啦!

內容大綱 主要內容說明
基礎篇第三版
CentOS 5為例

2009~2014
加上比較多的圖表說明,所以內容增加非常多!同時增加第零章計概在內文中,厚厚一本好討厭! .....
基礎篇第二版
Fedora Core 4為例

2005~2008
這個部分則是基礎篇的第二版,基本上已經是非常完整的書籍內容了! 不過,仍然是具有部分的疏失啦!尤其是內容字太多了!新版的希望能夠圖多點~.....
基礎篇第一版
Mandrake 9為例

2001~2004
這個部分是鳥哥寫的第一本書的內容!不過,因為時間隔的太久了,很多文章都經過了部分的編修, 所以與書籍上的章節不太相同。列出來只是為了要對鳥哥自己負責就是了!^_^.....
Red Hat 6.x 舊文件
1999~2001
這些是早期的 Red Hat 6.x 的相關基礎文件,當時寫的比較簡單, 而且也比較沒有系統,不過,如果您還是使用舊版的 Red Hat 的話,那麼,或許還是有可以參考的地方吧!? ^_^..

2002/06/28 以來統計人數
計數器
   http://linux.vbird.org is designed by VBird during 2001-2017.