盡管LINUX有諸多的發行版,但是所有的版本都遵從同樣的文件目錄層次結構,即FHS(Filesystem Hierarchy Standard)。有了這個統一的標準,我們在使用不同版本的LINUX時就不會由于版本的不同而找不到相關系統文件的位置,了解FHS有助于我們更好的掌握LINUX的基礎構架和文件系統管理。
LINUX的文件結構是一個以/為根的樹狀結構,所有的目錄都是以/作為入口,因此/目錄是LINUX最為重要的目錄,有些目錄(如/bin,/sbin,/etc,/lib等于系統啟動相關的目錄)是必須與/目錄在同一個分區的,以保證系統可以正常的啟動。而有些目錄(如/usr、/var、/home等)可以掛在單獨的磁盤分區上,這樣可以避免重裝系統時候這些應用和數據的丟失。
下面我們來逐個認識一下這些主要的目錄是用來存放什么文件的,對系統有什么作用:
/boot | 主要放置系統啟動的靜態文件,如bootsactors |
/bin | 存放是基本的二進制用戶命令,管理員和普通用戶這些命令在系統啟動時候會用到,這里面的命令在單用戶模式下都是可以使用的。 |
/sbin | 存放的是基本的管理員命令,這里面的命令會在系統啟動、恢復、重裝時用到,只允許管理員使用 |
/etc | 存放系統的配置文件 |
/lib | 基本的共享庫文件和內核模型 |
/lib64 | 64為系統上主要存放共享庫文件和內核模型 |
/dev | 存放一些特殊文件以及設備文件 |
/root | root的家目錄 |
/home | 用戶的家目錄所在地,用戶登錄系統后的默認目錄在這里 |
/mnt | 用來掛載別的文件系統的目錄 |
/media | 用來掛在可移動媒體設備的目錄 |
/opt | 傳統的第三方軟件的默認安裝路勁 |
/srv | 存放系統服務所需要用到的數據文件 |
/tmp | 臨時文件目錄 |
以上的這些目錄都是/下的附屬目錄,出去/boot和/home目錄外,其他的目錄都不單獨掛在硬盤分區,而是和/在同一個分區下,以保證系統的正常啟動和運行。
再介紹兩個相對獨立的系統目錄,他們是LINUX的第二層結構。相對與上面的目錄他們比較獨立,一般都單獨掛載分區。
1、/usr usr并不是指user,而是Universal+Shared+Read Only的含義, 目錄內的文件一般都是不可變的,但是又是可以共享的,目前新的開發軟件都將軟件的數據放在這個目錄下。其下主要有以下幾個子目錄:
/bin | 存放大多數的系統的可執行命令 |
/sbin | 非基礎的管理員系統命令 |
/share | 獨立數據文件, 放置共享文件的地方,常見的man、doc手冊都在此目錄下 |
/lib | 程序包的庫文件 |
/lib64 |
64位系統的程序包的庫文件 |
/include | 為C語言程序提供的標準的頭文件都存在此目錄 |
/src | 源代碼存放處 |
/local | 又是一個相對獨立的目錄,管理員安裝自己的軟件在此,此目錄下也有/bin,/sbin,/share,/src等目錄 |
2、/var目錄,主要從放可變的數據,如緩存、日志之類的文件,因此,隨著系統的使用,此目錄占用磁盤空間會越來越大。主要有以下幾個子目錄:
/cache | 應用程序運行中產生的緩存文件 |
/lib |
應用程序運行中需要用到的可變的狀態信息存放處 |
/local | 為/usr/local下程序存放可變數據 |
/lock |
鎖文件 |
/log | 日志文件 |
/opt | 為/opt下程序存放可變數據 |
/run | 運行進程有關的數據,進程和服務的PID都放置在此處 |
/spool | 應用程序緩沖池,排隊等候應用程序使用。 |
/tmp | 存放系統重啟中產生的臨時文件 |
除去以上FHS規定的目錄,還有兩個目錄是我們常使用到,他們是兩個虛擬的文件系統:
/proc, 他放置的數據都是在內存當中, 例如系統核心、行程信息(process)、周邊裝置的狀態及網絡狀態等等.因為這個 目錄下的數據都是在內存當中, 所以本身不占任何硬盤空間??!以后我進行系統調優主要就是正對這個目錄操 作。
/sys, 記錄與核心相關的信息. 包括目前已加載的核心模塊與核心偵測到的硬件裝置信息等,這個目錄同樣不占硬盤容 量。
原創文章,作者:frameboy,如若轉載,請注明出處:http://www.www58058.com/10034