linux目錄及重要目錄文件詳細解析
第一部分 linux根目錄及其子目錄
1.1概覽
1.2根目錄及子目錄詳細解析
目錄 | 內容 |
/ |
|
/bin | bin(binary縮寫)文件夾存放必需的用戶命令二進制文件,即在單用戶模式下非root權限用戶也可以使用的命令。例如,cat,cp,date,echo,ls,mv等等。 |
/boot | 存放引導載入程序的靜態文件。包括:
|
/dev | /dev(device縮寫)文件夾存放設備文件。一個文件指向一個系統設備,用戶的程序可以通過使用這些設備文件,對真實的硬件設備進行訪問操作。 |
/etc | 存放系統配置文件,幾乎所有配置文件都存放於/etc目錄下。 |
/home | 非root用戶家目錄。創建一個非root用戶時,/home目錄下也會相應的創建一個/home/用戶名的目錄,用於存放用戶自己的數據。 |
/lib、/lib64 | Lib(libraries的縮寫)目錄存放必須的共享庫和內核模塊。 |
/media | 可移動媒介(如軟盤、光盤和zip磁盤)掛載點。歷史上有多個不同的地方用來掛載可移動媒質,如 /cdrom 、/mnt 或 /mnt/cdrom。將可移動媒質的掛 載點直接放置在根文件夾下可能導致 / 下大量的額外文件夾。儘管以 /mnt 下的文件夾作爲掛載點近來變得普遍,但是比這更早是直接使用/mnt 作爲臨時掛載點。 |
/mnt | 臨時掛載文件的掛載點。爲了使系統管理員能夠在需要時臨時地掛載某個文件系統。 |
/opt | 保留用於安裝外部應用程序軟件包。要安裝在/opt 中的軟件包,必須將其靜態文件放置在單獨的一個/opt/<package>或 /opt/<provider>文件夾樹下,其中<package>是描述軟件包的名稱,<provider>是軟件提供者的Linux分配名稱和數字授權(LANANA)的註冊名稱。 |
/root | root用戶默認家目錄(也稱,主文件夾)。root賬戶的主文件夾可以由開發者或本地偏好設置來決定,但這是推薦的默認位置。 |
/sbin | 存放系統二進制文件。系統管理員使用的工具(和其他有 root 使用權限的命令)保存在/sbin、/usr/sbin 和 /usr/local/sbin中。/sbin包含除了/bin中之外其他的啓動、還原、恢復和修復系統所必需的二進制文件。在已知/usr 已經掛載(並且沒有問題)的情況下執行的程序通常位於 /usr/sbin下。本地安裝的系統管理程序應該位於/usr/local/sbin下。 |
/srv | 存放系統提供服務的特定站點的數據。 規定這一目錄的目的是使用戶可以找到特定服務的數據文件的位置,因而要求單獨的樹來存放只讀 數據、可寫數據和腳本(如 cgi 腳本)的服務可以放這裏。只與某位用戶相關的數據應該放入該用戶 的主文件夾下。 /srv 下子文件夾的命名方法尚未規定,因爲目前還沒有就這方面規定的一致意見。對 /srv 下數據進 行歸類的一個辦法是按協議,如 /srv/ftp 、 /srv/rsync 、 /srv/www 和 /srv/cvs 。 |
/tmp | /tmp文件夾必須能夠爲要求臨時文件的程序使用。 程序必須假設/tmp中的任何文件或文件夾僅用於在程序中引用。儘管 /tmp 中的文件可以站點指定的方式保存,我們依然建議在每次系統啓動時刪除 /tmp 下的文件 和文件夾。 |
/usr | 存放可共享的只讀數據。專門存放各種程序和數據。 |
/var | /var文件夾存放可變數據文件。這包括spool文件夾和文件、管理和日誌數據,及過渡和臨時文件。/var中有一些部分不能在不同的系統間共享。例如,/var/log和/var/run。另外的部分可以共享,尤其像/var/mail/、var/cache/man、/var/cache/fonts 和/var/spool/news。 |
第二部分 linux中重要文件分析
FHS(Filesystem Hierarchy Standard)文件系統層次標準給出一些重要目錄建立的參考標準,詳細的參考文獻在本文後上傳的FHS的英文版和中文版(由Yinghua Wang翻譯, [email protected])的PDF文檔裏,若有需要,可以在下方下載。這裏主要介紹一些對運維來說比較重要的目錄文件。
2.1 /boot 引導裝載程序的靜態文件
文件 | 說明 |
/boot/config | 系統內核kernel的配置文件 |
/boot/initramfs | 系統啓動時提供暫時的虛擬根文件系統 |
/boot/vmlinuz | 系統內核文件 |
/boot/System.map | 系統Kernel中的變量對應表 |
/boot/grub/grub.conf | 啓動管理程序GRUB的配置文件 |
/boot/grub/stage1 | 主引導扇區(MBR)的備份文件 |
/boot/grub/*_stage1_5 | 連接stage1到stage2的一個通道,裏面唯一存放的是該系統文件的格式 |
/boot/grub/stage2 | 是GRUB的核心程序,它的主要功能是:
|
2.2 /dev 設備文件:分爲塊設備文件(b)和字符設備文件(c)
文件 | 說明 |
/dev/sd[a-z] | SCSI設備 |
/dev/fd | 標準軟驅 |
/dev/console | 控制檯 |
/dev/loop | 本地迴環設備 |
/dev/md | 軟raid設備 |
/dev/ram | 內存 |
/dev/tty | 虛擬終端 |
/dev/ttyS | 串口 |
/dev/lp | 並口 |
/etc 系統配置文件
文件 | 說明 |
/etc/exports | NFS文件系統訪問控制表。 |
/etc/fstab | 文件系統的靜態信息。開機自動掛載的文件系統。 |
/etc/group | 用戶組文件,與passwd類似,只是說明對象是組。 |
/etc/host.conf | 解析器配置文件。 |
/etc/hosts | 有關主機名的靜態信息。 |
/etc/inittab | init的配置文件,設置系統運行級別,加載啓動相關配置。 |
/etc/issue | 預登錄消息,即認證前的輸出信息,默認輸出內核版本信息。 |
/etc/moth | 認證後的輸出信息。 |
/etc/passwd | 用戶數據庫,保存用戶名、家目錄、加密口令等等的賬戶信息。 |
/etc/profile | 全局系統環境配置變量 |
/etc/resolv.conf | Dns服務器的配置文件。標識dns域名服務器主機的位置,使用TCP/IP協議的時候需要通過DNS服務將因特網上的主機名裝換爲ip地址。 |
/etc/rsyslog.conf | 系統日誌文件的配置信息。 |
/etc/rc /etc/rc.d /etc/rc*.d | 啓動或改變運行級別時運行的scripts或scripts目錄 |
/etc/shadow /etc/gshadow | 安裝影子口令軟件的系統的影子加密口令文件。文件將/etc/passwd 文件中的加密口令移動到/ec/shadow中,而後者只對root可讀 |
/etc/skel | 默認創建用戶時,把該目錄拷貝到家目錄下 |
/etc/sudoers | 設置通過sudo命令,可以讓用戶運行一些本無權運行的命令可以設置某用戶可使用root權限。 |
2.3 /proc 僞文件系統(存在於內存中),爲訪問系統內核數據的操作提供接口
目錄 | 說明 |
/proc/cpuinfo | 關於cpu的信息,如類型、廠商、型號和性能參數。 |
/proc/filesystems | 系統已加載的文件系統。 |
/proc/meminfo | 內存的相關信息。 |
/proc/modules | 系統已加載的內核模塊。 |
/proc/mounts | 系統已掛載的設備或文件系統。 |
/proc/partitions | 系統的分區情況。 |
/proc/swaps | 交換分區swap的信息。 |
2.4 /sys 以拓撲結構表示linux資源
文件 | 說明 |
/sys/block | 存放指向在 /sys/devices/ 中真實設備的符號鏈接文件。 |
/sys/dev | 存放字符設備和塊設備文件,以主次設備號排列。 |
/sys/devices | 以樹形結構存放系統所有的設備文件。 |
/sys/bus | 內核設備按照總線類型分層放置的目錄結構,/sys/devices中的所有設備都是連接於某種總線之下的,bus子目錄下的每種具體總線之下可以找到每個具體設備的符號鏈接,一般來說每個子目錄(總線類型)下包含兩個子目錄,一個是devices,另一個是drivers;其中devices下是這個總線類型下的所有設備,這些設備都是符號鏈接,它們分別指向真正的設備(/sys/devices/name/下);而drivers下是所有註冊在這個總線上的驅動,每個driver子目錄下是一些可以觀察和修改的driver參數。 |
/sys/class | 包含所有註冊在kernel裏面的設備類型,按照設備功能分類的設備模型,每個設備類型表達具有一種功能的設備。每個設備類型子目錄下都是這種設備類型的各種具體設備的符號鏈接,這些鏈接指向/sys/devices/name下的具體設備。設備類型和設備並沒有一一對應的關係,一個物理設備可能具備多種設備類型;一個設備類型只表達具有一種功能的設備,比如:系統所有輸入設備都會出現在/sys/class/input之下,而不論它們是以何種總線連接到系統的。(/sys/class也是構成linux統一設備模型的一部分) |
/etc/firmware | 包含對固件對象(firmware object)和屬性進行操作和觀察的接口,即這裏是系統加載固件機制的對用戶空間的接口.(關於固件有專用於固件加載的一套API) |
/etc/fs | 描述系統中所有的文件系統,包括文件系統本身和按照文件系統分類存放的已掛載點。 |
/etc/kernel | 存放內核中所有可調整的參數 |
/etc/module | 系統中所有的模塊信息,不論這些模塊是以內聯(inlined)方式編譯到內核映像文件中還是編譯爲外模塊(.ko文件),都可能出現在/sys/module中。即module目錄下包含了所有的被載入kernel的模塊。 |
/etc/power | 系統中的電源選項,對正在使用的power子系統的描述。 |
2.5 /usr 存放各種程序和數據
文件 | 目錄 |
/usr/bin | 存放非必需用戶命令二進制文件 |
/usr/share | 包含了各種程序間的共享文件,如字體,圖標,文檔等。 |
/usr/src | Linux 內核的源碼和說明文檔等 |
/usr/local | 主要存放那些手動安裝的軟件。它和/usr目錄具有相類似的目錄結構 。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面。 |
2.6 /var 可變數據文件。包含系統一般運行時要改變的數據。通常這些數據所在的目錄的大小是要經常變化或擴充的。
文件 | 目錄 |
/var/log | 存放系統和各種服務的日誌文件 |
/var/log/messages | 系統日誌信息,包含系統啓動期間的日誌。 |
/var/log/dmesg | 內核緩衝信息(kernel ring buffer)。在系統啓動時,會在屏幕上顯示許多與硬件有關的信息。可以用dmesg查看它們。 |
var/log/boot.log | 系統啓動時的日誌。 |
/var/log/yum.log | 使用yum安裝的軟件包信息。 |
/var/secure-日期 | 驗證和授權方面信息。 |
/var/log/wtmp | 記錄登陸者信息,是last、who命令的信息來源。 |
/var/log/mail-日期 | 郵件服務器的額外日誌。 |