linux目錄結(jié)構(gòu)

linux文件系統(tǒng)的最頂端是/,稱為linux的root,所有的目錄、文件、設(shè)備都在/之下。

文件類型

linux有四種基本文件系統(tǒng)類型:普通文件、目錄文件、 鏈接文件和特殊文件。可以用file命令來識別。

普通文件:如文本文件、c語言源代碼、shell腳本等,可以用cat、less、more、vi等來察看內(nèi)容,用mv來改名。

目錄文件:包括文件名、子目錄名及其指針。可以用ls列出目錄文件

鏈接文件:是指向一索引節(jié)點的那些目錄條目,用ls來查看時,鏈接文件的標志用l開頭,而文件后以"->"指向所鏈接的文件

特殊文件:如磁盤、終端、打印機等都在文件系統(tǒng)中表示出來,常放在/etc目錄內(nèi)。例如:軟驅(qū)A稱為/dev/fd0,/dev/had來自第一硬盤。

/bin:存放系統(tǒng)所需要的那些命令,比如ls、cp、mkdir等命令;功能和/usr/bin類似,這個目錄中的文件都是可執(zhí)行的、普通用戶可以使用的命令。

/boot:這是 Linux的內(nèi)核及引導(dǎo)系統(tǒng)程序所需要的文件目錄,比如initrd.img等文件都位于這個目錄中,grub系統(tǒng)引導(dǎo)管理器也位于這個目錄。

/dev:設(shè)備文件存儲目錄,比如聲卡、磁盤。

/etc:系統(tǒng)配置文件的所在,一些服務(wù)器的配置文件也在這里;比如用戶帳號及密碼配置文件。

/home:普通用戶目錄默認存放目錄。

/lib:庫文件存放目錄

用戶無權(quán)限執(zhí)行這個目錄下的命令,這個目錄和/usr/sbin;/usr/local/sbin目錄是相似的。凡是目錄sbin中包含的都是root權(quán)限才能執(zhí)行的。

/tmp:臨時文件目錄,有時用戶運行程序的時候,會產(chǎn)生臨時文件。這個目錄和/var/tmp目錄相似。

/usr:這個是系統(tǒng)存放程序的目錄,比如命令、幫助文件等。當我們安裝一個linux發(fā)行版官方提供的軟件包時,大多安裝在這里。如果有涉及服務(wù)器配置文件的,會把配置文件安裝在/etc目錄中。/usr目錄下包括設(shè)計字體目錄/usr/share/fonts,幫助目錄/usr/share/man 或/usr/share/doc,普通用戶可執(zhí)行文件目錄/usr/bin或/usr/local/bin;超級權(quán)限用戶root可執(zhí)行命令存放目錄,比如/usr/sbin或/usr/local/sbin等,還有程序的頭文件存放目錄/usr/include

/var:這個目錄的內(nèi)容是經(jīng)常變動的,/var下有/var/log這是用來存放系統(tǒng)日志的目錄。/var/lib用來存放一些庫文件,比如MySQL的。

/media:本目錄是空的,是用于掛載的。

/selinux:不知道到底是怎么用的!!!

/srv:一些服務(wù)需要訪問的文件存放在這

/sys:系統(tǒng)的核心文件

/cdrom:光驅(qū)

一些重要子目錄:

/etc/init.d:這個目錄是用來存放系統(tǒng)或服務(wù)器以System V模式啟動的腳本。

/etc/X11:這是X-Window相關(guān)的配置文件存放地。

/usr/bin:這個目錄是可執(zhí)行程序的目錄,普通用戶就有權(quán)限執(zhí)行;當我們從系統(tǒng)自帶的軟件包安裝一個程序時,他的可執(zhí)行文件大多會放在這個目錄。

/usr/sbin :這個目錄也是可執(zhí)行程序的目錄,但大多存放設(shè)計系統(tǒng)管理的命令,只有root權(quán)限才能執(zhí)行

/usr/local:這個目錄一般是用來存放用戶自編譯安裝軟件的存放目錄;一般是通過源碼包安裝的軟件,如果沒有特別指定安裝目錄的話,一般是安裝在這個目錄中。

/usr/share:系統(tǒng)共用的東西存放地。

/usr/src:內(nèi)核源碼存放的目錄。

Linux 目錄結(jié)構(gòu)及主要內(nèi)容(1)

“/”根目錄部分有以下子目錄:

? ?/usr 目錄包含所有的命令、程序庫、文檔和其它文件。這些文件在正常操作中不會被改變的。這個目錄也包含你的Linux發(fā)行版本的主要的應(yīng)用程序,譬如,Netscape。

? ?/var 目錄包含在正常操作中被改變的文件:假脫機文件、記錄文件、加鎖文件、臨時文件和頁格式化文件等

? ?/home 目錄包含用戶的文件:參數(shù)設(shè)置文件、個性化文件、文檔、數(shù)據(jù)、EMAIL、緩存數(shù)據(jù)等。這個目錄在系統(tǒng)省級時應(yīng)該保留。

? ?/proc 目錄整個包含虛幻的文件。它們實際上并不存在磁盤上,也不占用任何空間。(用ls –l 可以顯示它們的大小)當查看這些文件時,實際上是在訪問存在內(nèi)存中的信息,這些信息用于訪問系統(tǒng)

? ?/bin 系統(tǒng)啟動時需要的執(zhí)行文件(二進制),這些文件可以被普通用戶使用。

? ?/sbin 系統(tǒng)執(zhí)行文件(二進制),這些文件不打算被普通用戶使用。(普通用戶仍然可以使用它們,但要指定目錄。)

? ?/etc 操作系統(tǒng)的配置文件目錄。

? ?/root 系統(tǒng)管理員(也叫超級用戶或根用戶)的Home目錄。

? ?/dev 設(shè)備文件目錄。LINUX下設(shè)備被當成文件,這樣一來硬件被抽象化,便于讀寫、網(wǎng)絡(luò)共享以及需要臨時裝載到文件系統(tǒng)中。正常情況下,設(shè)備會有一個獨立的子目 ?錄。這些設(shè)備的內(nèi)容會出現(xiàn)在獨立的子目錄下。LINUX沒有所謂的驅(qū)動符。

? ?/lib 根文件系統(tǒng)目錄下程序和核心模塊的共享庫。

? ?/boot 用于自舉加載程序(LILO或GRUB)的文件。當計算機啟動時(如果有多個操作系統(tǒng),有可能允許你選擇啟動哪一個操作系統(tǒng)),這些文件首先被裝載。這個目錄也會包含LINUX核(壓縮文件vmlinuz),但LINUX核也可以存在別處,只要配置LILO并且LILO知道LINUX核在哪兒。

? ?/opt 可選的應(yīng)用程序,譬如,REDHAT5.2下的KDE (REDHAT 6.0下,KDE放在其它的XWINDOWS應(yīng)用程序中,主執(zhí)行程序在/usr/bin目錄下)

? ?/tmp 臨時文件。該目錄會被自動清理干凈。

? ?/lost+found 在文件系統(tǒng)修復(fù)時恢復(fù)的文件

“/usr”目錄下比較重要的部分有:

? ?/usr/X11R6 X-WINDOWS系統(tǒng)(version 11, release 6)

? ? /usr/X11 同/usr/X11R6 (/usr/X11R6的符號連接)

? ?/usr/X11R6/bin 大量的小X-WINDOWS應(yīng)用程序(也可能是一些在其它子目錄下大執(zhí)行文件的符號連接)。

? ?/usr/doc LINUX的文檔資料(在更新的系統(tǒng)中,這個目錄移到/usr/share/doc)。

? ?/usr/share 獨立與你計算機結(jié)構(gòu)的數(shù)據(jù),譬如,字典中的詞。

? ?/usr/bin和/usr/sbin 類似與“/”根目錄下對應(yīng)的目錄(/bin和/sbin),但不用于基本的啟動(譬如,在緊急維護中)。大多數(shù)命令在這個目錄下。

? ?/usr/local 本地管理員安裝的應(yīng)用程序(也可能每個應(yīng)用程序有單獨的子目錄)。在“main”安裝后,這個目錄可能是空的。這個目錄下的內(nèi)容在重安裝或升級操作系統(tǒng)后應(yīng)該存在。

? ?/usr/local/bin 可能是用戶安裝的小的應(yīng)用程序,和一些在/usr/local目錄下大應(yīng)用程序的符號連接。

/proc目錄的內(nèi)容:

? ? /proc/cpuinfo 關(guān)于處理器的信息,如類型、廠家、型號和性能等。

? ? /proc/devices 當前運行內(nèi)核所配置的所有設(shè)備清單。

? ? /proc/dma 當前正在使用的DMA通道。/proc/filesystems 當前運行內(nèi)核所配置的文件系統(tǒng)。

? ? /proc/interrupts 正在使用的中斷,和曾經(jīng)有多少個中斷。

? ? /proc/ioports 當前正在使用的I/O端口。

? ? 舉例,使用下面的命令能讀出系統(tǒng)的CPU信息。

? ? cat /proc/cpuinfo

總結(jié)來說:

? ? · 用戶應(yīng)該將文件存在/home/user_login_name目錄下(及其子目錄下)。

? ? · 本地管理員大多數(shù)情況下將額外的軟件安裝在/usr/local目錄下并符號連接在/usr/local/bin下的主執(zhí)行程序。

? ? · 系統(tǒng)的所有設(shè)置在/etc目錄下。

? ? · 不要修改根目錄(“/”)或/usr目錄下的任何內(nèi)容,除非真的清楚要做什么。這些目錄最好和LINUX發(fā)布時保持一致。

? ? · 大多數(shù)工具和應(yīng)用程序安裝在目錄:/bin, /usr/sbin, /sbin, /usr/x11/bin,/usr/local/bin。

? ? · 所有的文件在單一的目錄樹下。沒有所謂的“驅(qū)動符”。

Linux 文件系統(tǒng)的目錄結(jié)構(gòu)(2)

Linux文件系統(tǒng)結(jié)的結(jié)構(gòu)是樹形結(jié)構(gòu),其入口從/開始,了解Linux文件系統(tǒng)的結(jié)構(gòu),對于我們需要掌握的基礎(chǔ)知識點之一。

? ?2、文件系統(tǒng)的組織結(jié)構(gòu)簡說;

? ?當您使用Linux的時候,如果您通過ls -la / 就會發(fā)現(xiàn),在/下包涵很多的目錄,比如etc、usr、var、bin …… …… 等目錄,而在這些目錄中,我們進去看看,發(fā)現(xiàn)也有很多的目錄或文件。文件系統(tǒng)在Linux下看上去就象樹形結(jié)構(gòu),所以我們可以把文件系統(tǒng)的結(jié)構(gòu)形象的稱為樹形結(jié)構(gòu)。

? ?查看文件系統(tǒng)的結(jié)構(gòu),我們可以通過tree命令來實現(xiàn);

? ?[root@localhost ~]# tree

? ?不過tree 這個命令目前在Fedora Core 5.0 中已經(jīng)消失,在Slackware 10.2的版本中仍有保留。不過其它版本的Linux應(yīng)該有;由tree命令的輸出結(jié)果來看,最頂端應(yīng)該是/,我們稱/為Linux的root,也就是Linux操作系統(tǒng)的文件系統(tǒng)。Linux的文件系統(tǒng)的入口就是/,所有的目錄、文件、設(shè)備都在/之下,/就是Linux文件系統(tǒng)的組織者,也是最上級的領(lǐng)導(dǎo)者。

? ?下面我們把Linux文件系統(tǒng)的樹形結(jié)構(gòu)的主要目錄列一下,主要

? ?3、文件系統(tǒng)的組織結(jié)構(gòu)分析;

? ?文件系統(tǒng)的組織結(jié)構(gòu)分析,我們能分析什么呢?也就是當我們列/目錄時,所看到的/usr、/etc …… …… /var 等目錄是做什么用的,這些目錄是不是有些特定的用途。無論哪個哪個版本的Linux系統(tǒng),都有這些目錄,這些目錄應(yīng)該是標準的。當然各個Linux發(fā)行版本也會存在一些小小的差異,但總體來說,還是大體差不多。

? Linux發(fā)行版本之間的差別其實很少,差別主要表現(xiàn)在系統(tǒng)管理的特色工具以及軟件包管理方式的不同,除此之外,沒有什么大的差別;比如Fedora軟件包管理工具是rpm,而Slackware是pkgtool 或installpkg等;

? ?言歸正傳,我們接著說文件系統(tǒng)組織結(jié)構(gòu)。

? ?/ Linux文件系統(tǒng)的入口,也是處于最高一級的目錄;

? /bin ?基礎(chǔ)系統(tǒng)所需要的那些命令位于此目錄,也是最小系統(tǒng)所需要的命令;比如 ls、cp、mkdir等命令;功能和/usr/bin類似,這個目錄中的文件都是可執(zhí)行的,普通用戶都可以使用的命令。做為基礎(chǔ)系統(tǒng)所需要的最基礎(chǔ)的命令就是放在這里。

? /boot ?Linux的內(nèi)核及引導(dǎo)系統(tǒng)程序所需要的文件,比如 vmlinuzinitrd.img 文件都位于這個目錄中。在一般情況下,GRUB或LILO系統(tǒng)引導(dǎo)管理器也位于這個目錄;

? ?/dev 設(shè)備文件存儲目錄,比如聲卡、磁盤…… ……

? /etc ?系統(tǒng)配置文件的所在地,一些服務(wù)器的配置文件也在這里;比如用戶帳號及密碼配置文件;

? /home ?普通用戶家目錄默認存放目錄;

? /lib 庫文件存放目錄

? /lost+found 在ext2或ext3文件系統(tǒng)中,當系統(tǒng)意外崩潰或機器意外關(guān)機,而產(chǎn)生一些文件碎片放在這里。當系統(tǒng)啟動的過程中fsck工具會檢查這里,并修復(fù)已經(jīng)損壞的文件系統(tǒng)。 有時系統(tǒng)發(fā)生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復(fù),或移到文件到原來的位置上。

? /media ?即插即用型存儲設(shè)備的掛載點自動在這個目錄下創(chuàng)建,比如USB盤系統(tǒng)自動掛載后,會在這個目錄下產(chǎn)生一個目錄 ;CDROM/DVD自動掛載后,也會在這個目錄中創(chuàng)建一個目錄,類似cdrom 的目錄。這個只有在最新的發(fā)行套件上才有,比如Fedora Core 4.0 5.0 等。可以參看/etc/fstab的定義;

? ?/misc

? /mnt ?這個目錄一般是用于存放掛載儲存設(shè)備的掛載目錄的,比如有cdrom 等目錄。可以參看/etc/fstab的定義。有時我們可以把讓系統(tǒng)開機自動掛載文件系統(tǒng),把掛載點放在這里也是可以的。主要看/etc/fstab中怎么定義了;比如光驅(qū)可以掛載到/mnt/cdrom .

? /opt 表示的是可選擇的意思,有些軟件包也會被安裝在這里,也就是自定義軟件包,比如在Fedora Core 5.0中,OpenOffice就是安裝在這里。有些我們自己編譯的軟件包,就可以安裝在這個目錄中;通過源碼包安裝的軟件,可以通過 ./configure ——prefix=/opt/目錄 .

? /proc 操作系統(tǒng)運行時,進程(正在運行中的程序)信息及內(nèi)核信息(比如cpu、硬盤分區(qū)、內(nèi)存信息等)存放在這里。/proc目錄偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng),它的定義可以參見 /etc/fstab .

? ?/root Linux超級權(quán)限用戶root的家目錄;

? /sbin 大多是涉及系統(tǒng)管理的命令的存放,是超級權(quán)限用戶root的可執(zhí)行命令存放地,普通用戶無權(quán)限執(zhí)行這個目錄下的命令,這個目錄和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目錄是相似的; 我們記住就行了,凡是目錄sbin中包含的都是root權(quán)限才能執(zhí)行的。

? /tmp 臨時文件目錄,有時用戶運行程序的時候,會產(chǎn)生臨時文件。/tmp就用來存放臨時文件的。/var/tmp目錄和這個目錄相似。

? ?/usr 這個是系統(tǒng)存放程序的目錄,比如命令、幫助文件等。這個目錄下有很多的文件和目錄。當我們安裝一個Linux發(fā)行版官方提供的軟件包時,大多安裝在這里。如果有涉及服務(wù)器配置文件的,會把配置文件安裝在/etc目錄中。/usr目錄下包括涉及字體目錄/usr/share/fonts ,幫助目錄 /usr/share/man或/usr/share/doc,普通用戶可執(zhí)行文件目錄/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超級權(quán)限用戶root的可執(zhí)行命令存放目錄,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;還有程序的頭文件存放目錄/usr/include.

? /var 這個目錄的內(nèi)容是經(jīng)常變動的,看名字就知道,我們可以理解為vary的縮寫,/var下有/var/log 這是用來存放系統(tǒng)日志的目錄。/var/www目錄是定義Apache服務(wù)器站點存放目錄;/var/lib 用來存放一些庫文件,比如MySQL的,以及MySQL數(shù)據(jù)庫的的存放地;

? ?我們再補充一下一些比較重要的目錄的用途;

? /etc/init.d 這個目錄是用來存放系統(tǒng)或服務(wù)器以System V模式啟動的腳本,這在以System V模式啟動或初始化的系統(tǒng)中常見。比如Fedora/RedHat;

? /etc/xinit.d 如果服務(wù)器是通過xinetd模式運行的,它的腳本要放在這個目錄下。有些系統(tǒng)沒有這個目錄, 比如Slackware,有些老的版本也沒有。在Rehat/Fedora中比較新的版本中存在。

? /etc/rc.d 這是Slackware發(fā)行版有的一個目錄,是BSD方式啟動腳本的存放地;比如定義網(wǎng)卡,服務(wù)器開啟腳本等。

? /etc/X11 是X-Windows相關(guān)的配置文件存放地;

? ?比如下面的例子:

? ?[root@localhost ~]# /etc/init.d/sshd start 注:啟動sshd服務(wù)器

? [root@localhost ~]# /etc/init.d/sshd stop 注:停止sshd服務(wù)器

? ?啟動 sshd: [確定]

? ?這就是典型的sshd 服務(wù)器 System V模式啟動腳本,通過這運行這個腳本可以啟動sshd服務(wù)器了。

? /usr/bin 這個目錄是可執(zhí)行程序的目錄,普通用戶就有權(quán)限執(zhí)行; 當我們從系統(tǒng)自帶的軟件包安裝一個程序時,他的可執(zhí)行文件大多會放在這個目錄。比如安裝gaim軟件包時。相似的目錄是/usr/local/bin; 有時/usr/bin中的文件是/usr/local/bin的鏈接文件;

? /usr/sbin 這個目錄也是可執(zhí)行程序的目錄,但大多存放涉及系統(tǒng)管理的命令。只有root權(quán)限才能執(zhí)行;相似目錄是/sbin或/usr/local/sbin或/usr/X11R6/sbin等;

? /usr/local 這個目錄一般是用來存放用戶自編譯安裝軟件的存放目錄;一般是通過源碼包安裝的軟件,如果沒有特別指定安裝目錄的話,一般是安裝在這個目錄中。這個目錄下面有子目錄。自己看看吧。

? ?/usr/lib 和/lib 目錄相似,是庫文件的存儲目錄;

? /usr/share 系統(tǒng)共用的東西存放地,比如 /usr/share/fonts 是字體目錄,是用戶都共用的吧。

? ?/usr/share/doc和/usr/share/man幫助文件,也是共用的吧;

? /usr/src 是內(nèi)核源碼存放的目錄,比如下面有內(nèi)核源碼目錄,比如 linux 、linux-2.xxx.xx 目錄等。有的系統(tǒng)也會把源碼軟件包安裝在這里。比如Fedora/Redhat,當我們安裝file.src.rpm的時候,這些軟件包會安裝在/usr/src/redhat相應(yīng)的目錄中。請參考: 《file.src.rpm 使用方法的簡單介紹》 .另外Fedhat 4.0 5.0,他的內(nèi)核源碼包的目錄位于/usr/src/kernels目錄下的某個目錄中(只有安裝后才會生成相應(yīng)目錄);

? /var/adm 比如軟件包安裝信息、日志、管理信息等,在Slackware操作系統(tǒng)中是有這個目錄的。在Fedora中好象沒有;自己看看吧。

? ?/var/log 系統(tǒng)日志存放,分析日志要看這個目錄的東西;

? /var/spool 打印機、郵件、代理服務(wù)器等假脫機目錄;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容