Linux目錄結構
從 Linux Wiki
提示:此文已超过 12 年(4387 天)未更新,如发现内容过时或有误,欢迎改进:)
與Windows將硬盤看做「C盤」、「D盤」幾個獨立的分區不同,Linux將整個文件系統看做一棵樹,這棵樹的樹根叫做根文件系統,用/表示。各個分區通過「掛載」(Mount)以文件夾的形式訪問。
在/中的文件夾很多,本文介紹常見文件夾的意義。Linux的目錄結構確實比較複雜,但設置合理、層次鮮明。本文以FHS 2.3[1]為例進行介紹。
目錄 |
根文件系統
- /bin
- 這一目錄中存放了供所有用戶使用的完成基本維護任務的命令。其中bin是binary的縮寫,表示二進制文件,通常為可執行文件。一些常用的系統命令,如cp、ls等保存在該目錄中。
- /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中是用戶級的文件,一般與具體的系統無關。
提示:
usr最早是user的縮寫,/usr的作用與現在的/home相同。而目前其通常被認為是 User System Resources 的縮寫,其中通常是用戶級的軟件等,與存放系統級文件的根目錄形成對比。[2]
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
- 臨時文件
參考資料
- ↑ FHS網站
- ↑ TLDP: Linux Filesystem Hierarchy
- ↑ http://forum.ubuntu.org.cn/viewtopic.php?t=1481
- ↑ http://linux.ccidnet.com/art/3067/20070315/1037337_1.html
- ↑ http://blog.csdn.net/mylxiaoyi/archive/2005/04/30/369537.aspx
本文对您有帮助?分享给更多朋友!
反馈与讨论
发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。