Linux目錄結構

此頁由 Linux Wiki使用者Chenxing 於 2012年12月18日 (星期二) 07:57 的最後更改。 在linuxCook云端Allen Lee的工作基礎上。

出自Linux Wiki

提示:此文已超过 11 年(4119 天)未更新,如发现内容过时或有误,欢迎改进:)

與Windows將硬碟看做「C盤」、「D盤」幾個獨立的分區不同,Linux將整個文件系統看做一棵樹,這棵樹的樹根叫做根文件系統,用/表示。各個分區通過「掛載」(Mount)以文件夾的形式訪問。

/中的文件夾很多,本文介紹常見文件夾的意義。Linux的目錄結構確實比較複雜,但設置合理、層次鮮明。本文以FHS 2.3[1]為例進行介紹。

Hint.gif
提示:
如果喜歡圖解,可參考Linux Toy轉載的Linux文件結構圖和相關討論

目錄

根文件系統

/bin
這一目錄中存放了供所有用戶使用的完成基本維護任務的命令。其中bin是binary的縮寫,表示二進制文件,通常為可執行文件。一些常用的系統命令,如cpls等保存在該目錄中。
/boot
這裡存放的是啟動Linux時使用的一些核心文件。如操作系統內核、引導程序Grub等。
/dev
在此目錄中包含所有的系統設備文件。從此目錄可以訪問各種系統設備。如CD-ROM,磁碟驅動器,數據機和內存等。在該目錄中還包含有各種實用功能,如用於創建設備文件的MAKEDEV
/etc
該目錄中包含系統和應用軟體的配置文件。
/etc/passwd
該目錄中包含了系統中的用戶描述信息,每行記錄一個用戶的信息。
/home
存儲普通用戶的個人文件。每個用戶的主目錄均在/home下以自己的用戶名命名。
/lib
這個目錄里存放著系統最基本的共享鏈接庫和內核模塊。共享鏈接庫在功能上類似於Windows里的.dll文件。
/lib64
64位系統有這個文件夾,64位程序的庫。
/lost+found
這並不是Linux目錄結構的組成部分,而是ext3文件系統用於保存丟失文件的地方。不恰當的關機操作和磁碟錯誤均會導致文件丟失,這意味著這些被標註為「在使用」,但卻並未列於磁碟上的數據結構上。正常情況下,引導進程會運行fsck程序,該程序能發現這些文件。除了「/」分區上的這個目錄外,在每個分區上均有一個lost+found目錄。
/media
可移動設備的掛載點,當前的操作系統通常會把U盤等設備自動掛載到該文件夾下。
/mnt
臨時用於掛載文件系統的地方。一般情況下這個目錄是空的,而在我們將要掛載分區時在這個目錄下建立目錄,再將我們將要訪問的設備掛載在這個目錄上,這樣我們就可訪問文件了。(注意在GNOME中,只有掛載到/media的文件夾才會顯示在「計算機」中,掛載到/mnt不會做為特殊設備顯示,詳見自動掛載分區
/opt
多數第三方軟體默認安裝到此位置,如Adobe Reader、google-earth等。並不是每個系統都會創建這個目錄。
/proc
它是存在於內存中的虛擬文件系統。裡面保存了內核和進程的狀態信息。多為文本文件,可以直接查看。如/proc/cpuinfo保存了有關CPU的信息。
/root
這是根用戶的主目錄。與保留給個人用戶的/home下的目錄很相似,該目錄中還包含僅與根用戶有關的條目。
/sbin
供超級用戶使用的可執行文件,裡面多是系統管理命令,如fsck, reboot, shutdown, ifconfig等。
/tmp
該目錄用以保存臨時文件。該目錄具有Sticky特殊許可權,所有用戶都可以在這個目錄中創建、編輯文件。但只有文件擁有者才能刪除文件。為了加快臨時文件的訪問速度,有的實現把/tmp放在內存中。
/usr
靜態的用戶級應用程序等,見下。
/var
動態的程序數據等,見下文。

/usr目錄結構

/usr通常是一個龐大的文件夾,其下的目錄結構與根目錄相似,但根目錄中的文件多是系統級的文件,而/usr中是用戶級的文件,一般與具體的系統無關。

Hint.gif
提示:
usr最早是user的縮寫,/usr的作用與現在的/home相同。而目前其通常被認為是 User System Resources 的縮寫,其中通常是用戶級的軟體等,與存放系統級文件的根目錄形成對比。[2]

應注意,程序的配置文件、動態的數據文件等都不會存放到/usr,所以除了安裝、卸載軟體外,一般無需修改/usr中的內容。說在系統正常運行時,/usr甚至可以被只讀掛載。由於這一特性,/usr常被劃分在單獨的分區,甚至有時多台計算機可以共享一個/usr

/usr/bin
多數日常應用程序存放的位置。如果/usr被放在單獨的分區中,Linux的單用戶模式不能訪問/usr/bin,所以對系統至關重要的程序不應放在此文件夾中。
/usr/include
存放C/C++頭文件的目錄
/usr/lib
系統的庫文件
/usr/local
新裝的系統中這個文件夾是空的,可以用於存放個人安裝的軟體。安裝了本地軟體的/usr/local里的目錄結構與/usr相似
/usr/sbin
在單用戶模式中不用的系統管理程序,如apache2等。
/usr/share
與架構無關的數據。多數軟體安裝在此。
/usr/X11R6
該目錄用於保存運行X-Window所需的所有文件。該目錄中還包含用於運行GUI要的配置文件和二進制文件。
/usr/src
源代碼

/var目錄結構

/var中包括了一些數據文件,如系統日誌等。/var的存放使得/usr被只讀掛載成為可能。

/var/cache
應用程序的緩存文件
/var/lib
應用程序的信息、數據。如資料庫的數據等都存放在此文件夾。
/var/local
/usr/local中程序的信息、數據
/var/lock
鎖文件
/var/log
日誌文件
/var/opt
/opt中程序的信息、數據
/var/run
正在執行著的程序的信息,如PID文件應存放於此
/var/spool
存放程序的假離線數據(即spool data)
/var/tmp
臨時文件

參考資料

上文在語言上還借鑒了這些資料。 [3] [4] [5]

  1. FHS網站
  2. TLDP: Linux Filesystem Hierarchy
  3. http://forum.ubuntu.org.cn/viewtopic.php?t=1481
  4. http://linux.ccidnet.com/art/3067/20070315/1037337_1.html
  5. http://blog.csdn.net/mylxiaoyi/archive/2005/04/30/369537.aspx

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换