網頁

搜尋此網誌

2011年10月17日 星期一

Linux Filesystem Hierarchy 系統架構與目錄

用過微軟Windows系統之後,看到Linux的檔案系統(File System)還真是不習慣,兩者之間有些差異,我認為這是作業系統的設計觀點不同導致,真正的答案還需要蒐集求證才會知道。

有關Linux檔案系統的書籍,目前大概只有邱世華先生(Juergen S.H. Chiu)撰寫的這一本,很可惜的是已經絕版,強烈希望再版並建議添加新內容,這是難得一見的好書。作者提到一個重點:「基本上,Linux的精神就是要將所有作業系統中的資訊,全部都變成檔案,以方便管理。」由此可見檔案系統的重要性!了解檔案與目錄的架構有助於我們認識Linux作業系統。


邱世華,Linux系統架構與目錄之解析, 台北:悅知文化,2008。

由於Linux是自由開放原始碼的作業系統,各廠商推出不同的Linux版本有所差異,因此造成系統檔案架構而有所不同,所幸差異不大,加上目前已經有Filesystem Hierarchy Standard (FHS)的標準規範Linux檔案架構,學習起來不會太困難(因為有參考資料)。另外,你也可以使用man hier指令顯示目錄階層的說明,這個指令非常實用。

目錄中最為重要的就是根目錄(root directory),這是檔案系統的開始位置,在「Linux系統架構與目錄之解析」也有提到根目錄是怎麼產生的由來,除了告訴我們是什麼,還讓我們知道為什麼。

重要的目錄還有虛擬檔案系統(Virtual File System, VFS)的部分,所謂VFS是指不存在於實體的檔案與目錄(不佔磁碟空間),存在的目的是為了操作作業系統,記得前述「所有作業系統中的資訊全部都變成檔案」的觀念,VFS就是用來做這件事情。重要的目錄有:/dev、/proc與/sys三個目錄,分別代表:裝置(device)資訊、行程(process)資訊與系統(system)資訊。

作業系統執行檔的目錄則是:/bin、/sbin、/usr/bin與/usr/sbin四個目錄之中,usr目錄的檔案通常是非必要性,大多屬使用者安裝的共用指令檔案,注意到usr不是user的縮寫,而是Unix Software Resource (或 UNIX source repository) 的縮寫,其中sbin目錄則用於系統管理之用(system binary),這裡類似於Windows中的C:\WINDOWS\system32目錄的功能。此外,使用者安裝的應用程式,則是位於/usr/local/bin目錄中,類似Windows中的C:\Program Files目錄的功能。

有關軟體「設定」的目錄是:/etc目錄,包含各類程式服務執行的設定參數,檔案目錄的數量相當多,所以才稱為「etcetera directory」。

感謝邱世華先生,您序中提到:「重點就在要做的事情貢獻大不大,是不是自己要的,這是唯一重要的事,只要做的事是對的,就一定會有人欣賞。」我認為世界就是需要有這樣的人、做這樣的事!

Delight Press
請再版,好嗎!

其他參考資料:https://wiki.debian.org/FilesystemHierarchyStandard

###

1 則留言:

  1. (嗯...之前貼得不見了, 可能我網路關係)
    因為前一陣子翻到你這篇文章, 看到你對我這本書的讚賞,很感謝!

    回覆刪除

熱門文章