天天看點

Linux 目錄結構

文章出處來源于師兄部落格:http://yangrong.blog.51cto.com/6945369/1288072

目錄

1、樹狀目錄結構圖

2、/目錄

3、/etc/目錄

4、/usr/目錄

5、/var/目錄

6、/proc/目錄

7、/dev/目錄

該文章主要來自于網絡進行整理。

目錄結構參考位址:

http://www.hudong.com/wiki/linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84

http://linux.ccidnet.com/art/3067/20070315/1037337_1.html

http://os.51cto.com/art/200802/65783.htm

http://www.iteye.com/topic/1125162

下面紅色字型為比較重要的目錄

Linux 目錄結構

描述
/ 第一層次結構的根、整個檔案系統層次結構的根目錄。
/bin/ 需要在單使用者模式可用的必要指令(可執行檔案);面向所有使用者,例如:cat、ls、cp,和/usr/bin類似。
/boot/ 引導程式檔案,例如:kernel、initrd;時常是一個單獨的分區[6]
/dev/ 必要裝置, 例如:, /dev/null.
/etc/

特定主機,系統範圍内的配置檔案。

關于這個名稱目前有争議。在貝爾實驗室關于UNIX實作文檔的早期版本中,/etc 被稱為/etcetra 目錄,[7]這是由于過去此目錄中存放所有不屬于别處的所有東西(然而,FHS限制/etc存放靜态配置檔案,不能包含二進制檔案)。[8]自從早期文檔出版以來,目錄名稱已被以各種方式重新稱呼。最近的解釋包括反向縮略語如:"可編輯的文本配置"(英文 "Editable Text Configuration")或"擴充工具箱"(英文 "Extended Tool Chest")。[9]

/etc/opt/ /opt/的配置檔案
/etc/X11/ X_Window系統(版本11)的配置檔案
/etc/sgml/ SGML的配置檔案
/etc/xml/ XML的配置檔案
/home/ 使用者的家目錄,包含儲存的檔案、個人設定等,一般為單獨的分區。
/lib/ /bin/ and /sbin/中二進制檔案必要的庫檔案。
/media/ 可移除媒體(如CD-ROM)的挂載點 (在FHS-2.3中出現)。
/lost+found 在ext3檔案系統中,當系統意外崩潰或機器意外關機,會産生一些檔案碎片在這裡。當系統在開機啟動的過程中fsck工具會檢查這裡,并修複已經損壞的檔案系統。當系統發生問題。可能會有檔案被移動到這個目錄中,可能需要用手工的方式來修複,或移到檔案到原來的位置上。
/mnt/ 臨時挂載的檔案系統。比如cdrom,u盤等,直接插入光驅無法使用,要先挂載後使用
/opt/ 可選應用軟體包。
/proc/ 虛拟檔案系統,将核心與程序狀态歸檔為文本檔案(系統資訊都存放這目錄下)。例如:uptime、 network。在Linux中,對應Procfs格式挂載。該目錄下檔案隻能看不能改(包括root)
/root/ 超級使用者的家目錄
/sbin/ 必要的系統二進制檔案,例如: init、 ip、 mount。sbin目錄下的指令,普通使用者都執行不了。
/srv/ 站點的具體資料,由系統提供。
/tmp/ 臨時檔案(參見 /var/tmp),在系統重新開機時目錄中檔案不會被保留。
/usr/ 預設軟體都會存于該目錄下。用于存儲隻讀使用者資料的第二層次;包含絕大多數的(多)使用者工具和應用程式。
/var/ 變量檔案——在正常運作的系統中其内容不斷變化的檔案,如日志,脫機檔案和臨時電子郵件檔案。有時是一個單獨的分區。如果不單獨分區,有可能會把整個分區充滿。如果單獨分區,給大給小都不合适。

特定主機系統範圍内的配置檔案。

/etc/rc /etc/rc.d

/etc/rc*.d

啟動、或改變運作級時運作的scripts或scripts的目錄.
/etc/hosts 本地域名解析檔案
/etc/sysconfig/network IP、掩碼、網關、主機名配置
/etc/resolv.conf DNS伺服器配置
/etc/fstab 開機自動挂載系統,所有分區開機都會自動挂載
/etc/inittab 設定系統啟動時Init程序将把系統設定成什麼樣的runlevel及加載相關的啟動檔案配置
/etc/exports 設定NFS系統用的配置檔案路徑
/etc/init.d 這個目錄來存放系統啟動腳本
/etc/profile, /etc/csh.login,  /etc/csh.cshrc 全局系統環境配置變量
/etc/issue 認證前的輸出資訊,預設輸出版本核心資訊
/etc/motd 設定認證後的輸出資訊,
/etc/mtab 目前安裝的檔案系統清單.由scripts初始化,并由mount 指令自動更新.需要一個目前安裝的檔案系統的清單時使用,例如df 指令
/etc/group 類似/etc/passwd ,但說明的不是使用者而是組.
/etc/passwd 使用者資料庫,其中的域給出了使用者名、真實姓名、家目錄、加密的密碼和使用者的其他資訊.
/etc/shadow 在安裝了影子密碼軟體的系統上的影子密碼檔案.影子密碼檔案将/etc/passwd 檔案中的加密密碼移動到/etc/shadow 中,而後者隻對root可讀.這使破譯密碼更困難.
/etc/sudoers 可以sudo指令的配置檔案
/etc/syslog.conf 系統日志參數配置
/etc/login.defs 設定使用者帳号限制的檔案
/etc/securetty 确認安全終端,即哪個終端允許root登入.一般隻列出虛拟控制台,這樣就不可能(至少很困難)通過modem或網絡闖入系統并得到超級使用者特權.
/etc/printcap 類似/etc/termcap ,但針對列印機.文法不同.
/etc/shells 列出可信任的shell.chsh 指令允許使用者在本檔案指定範圍内改變登入shell.提供一台機器FTP服務的服務程序ftpd 檢查使用者shell是否列在 /etc/shells 檔案中,如果不是将不允許該使用者登入.
/etc/xinetd.d 如果伺服器是通過xinetd模式運作的,它的腳本要放在這個目錄下。有些系統沒有這個目錄,比如Slackware,有些老的版本也沒有。在Redhat Fedora中比較新的版本中存在。
/etc/skel/ 預設建立使用者時,把該目錄拷貝到家目錄下

預設軟體都會存于該目錄下。用于存儲隻讀使用者資料的第二層次;包含絕大多數的使用者工具和應用程式。

/usr/X11R6 存放X-Windows的目錄;
/usr/games 存放着XteamLinux自帶的小遊戲;
/usr/doc Linux技術文檔;
/usr/include 用來存放Linux下開發和編譯應用程式所需要的頭檔案;
/usr/lib 存放一些常用的動态連結共享庫和靜态檔案庫;
/usr/man 幫助文檔所在的目錄;
/usr/src Linux開放的源代碼,就存在這個目錄,愛好者們别放過哦;
/usr/bin/ 非必要可執行檔案 (在單使用者模式中不需要);面向所有使用者。
/usr/lib/ /usr/bin/和/usr/sbin/中二進制檔案的庫。
/usr/sbin/ 非必要的系統二進制檔案,例如:大量網絡服務的守護程序。
/usr/share/ 體系結構無關(共享)資料。
/usr/src/ 源代碼,例如:核心源代碼及其頭檔案。
/usr/X11R6/ X Window系統版本 11, Release 6.
/usr/local/ 本地資料的第三層次,具體到本台主機。通常而言有進一步的子目錄,例如:bin/、lib/、share/.這是提供給一般使用者的/usr目錄,在這裡安裝一般的應用軟體;

/var 包括系統一般運作時要改變的資料.每個系統是特定的,即不通過網絡與其他計算機共享.

/var/log/message 日志資訊,按周自動輪詢
/var/spool/cron/root 定時器配置檔案目錄,預設按使用者命名
/var/log/secure 記錄登陸系統存取資訊的檔案,不管認證成功還是認證失敗都會記錄
/var/log/wtmp 記錄登陸者資訊的檔案,last,who,w指令資訊來源于此
/var/spool/clientmqueue/ 當郵件服務未開啟時,所有應發給系統管理者的郵件都将堆放在此
/var/spool/mail/ 郵件目錄
/var/tmp   比/tmp 允許的大或需要存在較長時間的臨時檔案. (雖然系統管理者可能不允許/var/tmp 有很舊的檔案.)
/var/lib   系統正常運作時要改變的檔案.  
/var/local   /usr/local 中安裝的程式的可變資料(即系統管理者安裝的程式).注意,如果必要,即使本地安裝的程式也會使用其他/var 目錄,例如/var/lock .  
/var/lock   鎖定檔案.許多程式遵循在/var/lock 中産生一個鎖定檔案的約定,以支援他們正在使用某個特定的裝置或檔案.其他程式注意到這個鎖定檔案,将不試圖使用這個裝置或檔案.
/var/log/ 各種程式的Log檔案,特别是login   (/var/log/wtmp log所有到系統的登入和登出) 和syslog (/var/log/messages 裡存儲所有核心和系統程式資訊. /var/log 裡的檔案經常不确定地增長,應該定期清除.  
/var/run   儲存到下次引導前有效的關于系統的資訊檔案.例如, /var/run/utmp 包含目前登入的使用者的資訊.
/var/cache/ 應用程式緩存資料。這些資料是在本地生成的一個耗時的I/O或計算結果。應用程式必須能夠再生或恢複資料。緩存的檔案可以被删除而不導緻資料丢失。

虛拟檔案系統,将核心與程序狀态歸檔為文本檔案(系統資訊都存放這目錄下)。

例如:uptime、 network。在Linux中,對應Procfs格式挂載。該目錄下檔案隻能看不能改(包括root)

/proc/meminfo 檢視記憶體資訊
/proc/loadavg 還記得 top 以及 uptime 吧?沒錯!上頭的三個平均數值就是記錄在此!
/proc/uptime 就是用 uptime 的時候,會出現的資訊啦!
/proc/cpuinfo 關于處理器的資訊,如類型、廠家、型号和性能等。
/proc/cmdline 加載 kernel 時所下達的相關參數!查閱此檔案,可了解系統是如何啟動的!
/proc/filesystems   目前系統已經加載的檔案系統羅!
/proc/interrupts 目前系統上面的 IRQ 配置設定狀态。
/proc/ioports 目前系統上面各個裝置所配置的 I/O 位址。
/proc/kcore 這個就是記憶體的大小啦!好大對吧!但是不要讀他啦!
/proc/modules 目前我們的 Linux 已經加載的子產品清單,也可以想成是驅動程式啦!
/proc/mounts 系統已經挂載的資料,就是用 mount 這個指令呼叫出來的資料啦!
/proc/swaps 到底系統挂加載的記憶體在哪裡?呵呵!使用掉的 partition 就記錄在此啦!
/proc/partitions 使用 fdisk -l 會出現目前所有的 partition 吧?在這個檔案當中也有紀錄喔!
/proc/pci   在 PCI 彙流排上面,每個裝置的詳細情況!可用 lspci 來查閱!
/proc/version 核心的版本,就是用 uname -a 顯示的内容啦!
/proc/bus/*   一些彙流排的裝置,還有 U盤的裝置也記錄在此喔!

裝置檔案分為兩種:塊裝置檔案(b)和字元裝置檔案(c)

裝置檔案一般存放在/dev目錄下,

對常見裝置檔案作如下說明:

/dev/hd[a-t] IDE裝置
/dev/sd[a-z] SCSI裝置
/dev/fd[0-7] 标準軟驅
/dev/md[0-31] 軟raid裝置
/dev/loop[0-7] 本地回環裝置
/dev/ram[0-15] 記憶體
/dev/null 無限資料接收裝置,相當于黑洞
/dev/zero 無限零資源
/dev/tty[0-63] 虛拟終端
/dev/ttyS[0-3] 序列槽
/dev/lp[0-3] 并口
/dev/console 控制台
/dev/fb[0-31] framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot
/dev/random 随機數裝置
上一篇: 分手的情話

繼續閱讀