最近在看Linux, 用了一段時間一直不懂根目錄底下的一堆目錄的用意. 只會一直google然後複製貼上複製貼上.

為了好好瞭解Linux就自己找了相關資訊並把它做個整理.

基本目錄

目錄 介紹
/bin 放置單人維護模式下還能夠被操作的指令
/boot 放置開機會用到的檔案
/dev 在Linux中, 任何裝置與周邊設備都是以檔案的型態存在於這個目錄中. 透過目錄下的檔案就可以存取某個裝置了
/etc 系統的主要設定檔都放在這個目錄內, ex:人員的帳號密碼檔, 各種服務的啟始檔. 一般來說這個目錄下的個檔案屬性是可以讓一般使用者查閱的, 但只有root有權限修改. FHS建議不要放置可執行檔(binary)在這個目錄中.
/home 系統預設各個使用著的home目錄. ex: ~:代表目前這個使用者的home目錄, ~ubuntu:代表ubuntu的home目錄
/lib 系統的函式庫非常多, 而/lib放置的則是開機時會用到的函式庫, 以及在/bin或是/sbin底下指令會呼叫的函式庫.
/media 放置可移除的裝置
/mnt 如果你想要暫時掛載某些額外的裝置, 一般建議可議放置在這個目錄中.
/opt 這是給第三方協定軟體放置的目錄.
/sbin 放置在這個目錄下的為開機過程中所需要的, 裡面包含了開機, 修復, 還原系統所需要的指令
/srv Service的縮寫, 是一些網路服務啟動後, 這些服務所需要取用的資料目錄. ex: WWW, FTP
/tmp 這個是讓一般使用者或是正在執行的程式暫時放置檔案的地方

其他重要的目錄

目錄 介紹
/proc 這個目錄本身是一個 "virtual filesystem", 他放置的資料都是在記憶體當中, ex:系統核心, 行程資訊, 週邊以及網路的狀態的鞥等. 這個目錄下的資料都是放在記憶體當中.
/sys 跟/proc非常類似, 也是紀錄與核心相關的資訊.

/usr目錄

依據FHS的基本定義, /usr裡面放置的資料屬於"可分享的"與"不可變動的". usr是 Unix Software Resource的縮寫, 是Unix作業系統軟體資源所放置的目錄. 有點類似windows的 C:\Windows\ + C:\Program files\ 這兩個目錄的綜合體.

目錄 介紹
/usr/bin 絕大部份使用者可以使用的指令都放在這. 與/bin的差別在於是否與開機過程有關
/usr/include C/C++ 等程式語言的header檔&include檔放置處.
/usr/lib 包含各應用軟體的函式庫, 目標檔案, 以及不被一般使用者慣用的執行檔或script.
/usr/local 系統管理員在本機自行安裝自己下載的軟體, 建議安裝到此目錄, 這樣會便於管理.
/usr/sbin 非系統正常運作所需要的系統指令. ex: daemon.
/usr/share 放置共享文件的地方, 在這個目錄下放置的資料幾乎是不分硬體架構均可讀取的資料.
/usr/src 一般原始碼建議放置到這裡.

/var目錄

如果/usr是安裝時會佔用較大硬碟容量的目錄, 那麼/var就是在系統用作之後才會漸漸佔用硬碟容量的目錄. 因為/var 目錄
主要針對常態性變動的檔案, 包含cache, log file以及一些軟體運作所產生的檔案, 或是MySQL資料庫的檔案等等.

目錄 介紹
/var/cache/ 應用程式本身運中過程中會產生的一些暫存檔.
/var/lib/ 程式本身執行的過程中. 需要使用到的資料檔案放置的目錄. 在此目錄下各自的疃體應該要有各自的目錄. ex: MySQL的資料庫放置到/var/lib/mysql/.
/var/lock/ 某些裝置或是檔案資源一次只能被一個應用程式所使用, 如果同時有兩個程式使用該裝置時, 就可能產生一些錯誤的狀況, 因此就得要將該裝置上鎖, 以確保該裝置只會給單一程式使用.
/var/log/ 登入檔放置的目錄.
/var/mail/ 放置個人電子郵件信箱的目錄.
/var/run/ 某些程式或是服務啟動後, 會將他們的PID放置在這個目錄下.
/var/spool/ 放置一些佇列資料.