摘要: Linux文件系統(tǒng)是呈樹形結(jié)構(gòu),了解Linux文件系統(tǒng)的目錄結(jié)構(gòu),對(duì)于我們駕馭Linux還是有必要的。本文對(duì)Linux下比較重要的目錄加以解說,以答初學(xué)者所說的“雜亂無章”目錄結(jié)構(gòu),給一個(gè)簡(jiǎn)要的說明。
目錄
正文
Linux文件系統(tǒng)結(jié)的結(jié)構(gòu)是樹形結(jié)構(gòu),其入口從/開始,了解Linux文件系統(tǒng)的結(jié)構(gòu),對(duì)于我們需要掌握的基礎(chǔ)知識(shí)點(diǎn)之一。
1、什么是文件系統(tǒng);
請(qǐng)參見: 《Linux 文件系統(tǒng)概述》
2、文件系統(tǒng)的組織結(jié)構(gòu)簡(jiǎn)說;
當(dāng)您使用Linux的時(shí)候,如果您通過ls -la / 就會(huì)發(fā)現(xiàn),在/下包涵很多的目錄,比如etc、usr、var、bin ... ... 等目錄,而在這些目錄中,我們進(jìn)去看看,發(fā)現(xiàn)也有很多的目錄或文件。文件系統(tǒng)在Linux下看上去就象樹形結(jié)構(gòu),所以我們可以把文件系統(tǒng)的結(jié)構(gòu)形象的稱為 樹形結(jié)構(gòu)。
查看文件系統(tǒng)的結(jié)構(gòu),我們可以通過tree命令來實(shí)現(xiàn);
[root@localhost ~]# tree
不過tree 這個(gè)命令目前在Fedora Core 5.0 中已經(jīng)消失,在Slackware 10.2的版本中仍有保留。不過其它版本的Linux應(yīng)該有;由tree命令的輸出結(jié)果來看,最頂端應(yīng)該是/,我們稱/為L(zhǎng)inux的root,也就是 Linux操作系統(tǒng)的文件系統(tǒng)。Linux的文件系統(tǒng)的入口就是/,所有的目錄、文件、設(shè)備都在/之下,/就是Linux文件系統(tǒng)的組織者,也是最上級(jí)的 領(lǐng)導(dǎo)者。
下面我們把Linux文件系統(tǒng)的樹形結(jié)構(gòu)的主要目錄列一下,主要
3、文件系統(tǒng)的組織結(jié)構(gòu)分析;
文件系統(tǒng)的組織結(jié)構(gòu)分析,我們能分析什么呢?也就是當(dāng)我們列/目錄時(shí),所看到的/usr、/etc ... ... /var 等目錄是做什么用的,這些目錄是不是有些特定的用途。無論哪個(gè)哪個(gè)版本的Linux系統(tǒng),都有這些目錄,這些目錄應(yīng)該是標(biāo)準(zhǔn)的。當(dāng)然各個(gè)Linux發(fā)行版 本也會(huì)存在一些小小的差異,但總體來說,還是大體差不多。
Linux發(fā)行版本之間的差別其實(shí)很少,差別主要表現(xiàn)在系統(tǒng)管理的特色工具以及軟件包管理方式的不同,除此之外,沒有什么大的差別; 比如Fedora軟件包管理工具是rpm,而Slackware是pkgtool 或installpkg等;
言歸正傳,我們接著說文件系統(tǒng)組織結(jié)構(gòu)。
/ Linux文件系統(tǒng)的入口,也是處于最高一級(jí)的目錄;
/bin 基礎(chǔ)系統(tǒng)所需要的那些命令位于此目錄,也是最小系統(tǒng)所需要的命令;比如 ls、cp、mkdir等命令;功能和/usr/bin類似,這個(gè)目錄中的文件都是可執(zhí)行的,普通用戶都可以使用的命令。做為基礎(chǔ)系統(tǒng)所需要的最基礎(chǔ)的命令就是放在這里。
/boot Linux的內(nèi)核及引導(dǎo)系統(tǒng)程序所需要的文件,比如 vmlinuz initrd.img 文件都位于這個(gè)目錄中。在一般情況下,GRUB或LILO系統(tǒng)引導(dǎo)管理器也位于這個(gè)目錄;
/dev 設(shè)備文件存儲(chǔ)目錄,比如聲卡、磁盤... ...
/etc 系統(tǒng)配置文件的所在地,一些服務(wù)器的配置文件也在這里;比如用戶賬號(hào)及密碼配置文件;
/home 普通用戶家目錄默認(rèn)存放目錄;
/lib 庫(kù)文件存放目錄
/lost+found 在ext2或ext3文件系統(tǒng)中,當(dāng)系統(tǒng)意外崩潰或機(jī)器意外關(guān)機(jī),而產(chǎn)生一些文件碎片放在這里。當(dāng)系統(tǒng)啟動(dòng)的過程中fsck工具會(huì)檢查這里,并修復(fù)已經(jīng)損 壞的文件系統(tǒng)。 有時(shí)系統(tǒng)發(fā)生問題,有很多的文件被移到這個(gè)目錄中,可能會(huì)用手工的方式來修復(fù),或移到文件到原來的位置上。
/media 即插即用型存儲(chǔ)設(shè)備的掛載點(diǎn)自動(dòng)在這個(gè)目錄下創(chuàng)建,比如USB盤系統(tǒng)自動(dòng)掛載后,會(huì)在這個(gè)目錄下產(chǎn)生一個(gè)目錄 ;CDROM/DVD自動(dòng)掛載后,也會(huì)在這個(gè)目錄中創(chuàng)建一個(gè)目錄,類似cdrom 的目錄。這個(gè)只有在最新的發(fā)行套件上才有,比如Fedora Core 4.0 5.0 等??梢詤⒖?etc/fstab的定義;
/misc
/mnt 這個(gè)目錄一般是用于存放掛載儲(chǔ)存設(shè)備的掛載目錄的,比如有cdrom 等目錄??梢詤⒖?etc/fstab的定義。有時(shí)我們可以把讓系統(tǒng)開機(jī)自動(dòng)掛載文件系統(tǒng),把掛載點(diǎn)放在這里也是可以的。主要看/etc/fstab中怎 么定義了;比如光驅(qū)可以掛載到/mnt/cdrom 。
/opt 表示的是可選擇的意思,有些軟件包也會(huì)被安裝在這里,也就是自定義軟件包,比如在Fedora Core 5.0中,OpenOffice就是安裝在這里。有些我們自己編譯的軟件包,就可以安裝在這個(gè)目錄中;通過源碼包安裝的軟件,可以通過 ./configure --prefix=/opt/目錄 。
/proc 操作系統(tǒng)運(yùn)行時(shí),進(jìn)程(正在運(yùn)行中的程序)信息及內(nèi)核信息(比如cpu、硬盤分區(qū)、內(nèi)存信息等)存放在這里。/proc目錄偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng),它的定義可以參見 /etc/fstab 。
/root Linux超級(jí)權(quán)限用戶root的家目錄;
/sbin 大多是涉及系統(tǒng)管理的命令的存放,是超級(jí)權(quán)限用戶root的可執(zhí)行命令存放地,普通用戶無權(quán)限執(zhí)行這個(gè)目錄下的命令,這個(gè)目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目錄是相似的; 我們記住就行了,凡是目錄sbin中包含的都是root權(quán)限才能執(zhí)行的。
/tmp 臨時(shí)文件目錄,有時(shí)用戶運(yùn)行程序的時(shí)候,會(huì)產(chǎn)生臨時(shí)文件。/tmp就用來存放臨時(shí)文件的。/var/tmp目錄和這個(gè)目錄相似。
/usr 這個(gè)是系統(tǒng)存放程序的目錄,比如命令、幫助文件等。這個(gè)目錄下有很多的文件和目錄。當(dāng)我們安裝一個(gè)Linux發(fā)行版官方提供的軟件包時(shí),大多安裝在這里。 如果有涉及服務(wù)器配置文件的,會(huì)把配置文件安裝在/etc目錄中。/usr目錄下包括涉及字體目錄/usr/share/fonts ,幫助目錄 /usr/share/man或/usr/share/doc,普通用戶可執(zhí)行文件目錄/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超級(jí)權(quán)限用戶root的可執(zhí)行命令存放目錄,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;還有程序的頭文件存放目錄/usr/include。
/var 這個(gè)目錄的內(nèi)容是經(jīng)常變動(dòng)的,看名字就知道,我們可以理解為vary的縮寫,/var下有/var/log 這是用來存放系統(tǒng)日志的目錄。/var/www目錄是定義Apache服務(wù)器站點(diǎn)存放目錄;/var/lib 用來存放一些庫(kù)文件,比如MySQL的,以及MySQL數(shù)據(jù)庫(kù)的的存放地;
我們?cè)傺a(bǔ)充一下一些比較重要的目錄的用途;
/etc/init.d 這個(gè)目錄是用來存放系統(tǒng)或服務(wù)器以System V模式啟動(dòng)的腳本,這在以System V模式啟動(dòng)或初始化的系統(tǒng)中常見。比如Fedora/RedHat;
/etc/xinit.d 如果服務(wù)器是通過xinetd模式運(yùn)行的,它的腳本要放在這個(gè)目錄下。有些系統(tǒng)沒有這個(gè)目錄, 比如Slackware,有些老的版本也沒有。在Rehat/Fedora中比較新的版本中存在。
/etc/rc.d 這是Slackware發(fā)行版有的一個(gè)目錄,是BSD方式啟動(dòng)腳本的存放地;比如定義網(wǎng)卡,服務(wù)器開啟腳本等。
/etc/X11 是X-Windows相關(guān)的配置文件存放地;
比如下面的例子:
[root@localhost ~]# /etc/init.d/sshd start 注:?jiǎn)?dòng)sshd服務(wù)器
[root@localhost ~]# /etc/init.d/sshd stop 注:停止sshd服務(wù)器
啟動(dòng) sshd: [確定]
這就是典型的sshd 服務(wù)器 System V模式啟動(dòng)腳本,通過這運(yùn)行這個(gè)腳本可以啟動(dòng)sshd服務(wù)器了。
/usr/bin 這個(gè)目錄是可執(zhí)行程序的目錄,普通用戶就有權(quán)限執(zhí)行; 當(dāng)我們從系統(tǒng)自帶的軟件包安裝一個(gè)程序時(shí),他的可執(zhí)行文件大多會(huì)放在這個(gè)目錄。比如安裝gaim軟件包時(shí)。相似的目錄是/usr/local/bin; 有時(shí)/usr/bin中的文件是/usr/local/bin的鏈接文件;
/usr/sbin 這個(gè)目錄也是可執(zhí)行程序的目錄,但大多存放涉及系統(tǒng)管理的命令。只有root權(quán)限才能執(zhí)行;相似目錄是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;
/usr/local 這個(gè)目錄一般是用來存放用戶自編譯安裝軟件的存放目錄;一般是通過源碼包安裝的軟件,如果沒有特別指定安裝目錄的話,一般是安裝在這個(gè)目錄中。這個(gè)目錄下面有子目錄。自己看看吧。
/usr/lib 和/lib 目錄相似,是庫(kù)文件的存儲(chǔ)目錄;
/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)也會(huì)把源碼軟件包安裝在這里。比如Fedora/Redhat,當(dāng)我們安裝file.src.rpm的時(shí)候,這些軟件包會(huì)安裝在/usr /src/redhat相應(yīng)的目錄中。請(qǐng)參考: 《file.src.rpm 使用方法的簡(jiǎn)單介紹》 。另外Fedhat 4.0 5.0,他的內(nèi)核源碼包的目錄位于/usr/src/kernels目錄下的某個(gè)目錄中(只有安裝后才會(huì)生成相應(yīng)目錄);
/var/adm 比如軟件包安裝信息、日志、管理信息等,在Slackware操作系統(tǒng)中是有這個(gè)目錄的。在Fedora中好象沒有;自己看看吧。
/var/log 系統(tǒng)日志存放,分析日志要看這個(gè)目錄的東西;
/var/spool 打印機(jī)、郵件、代理服務(wù)器等假脫機(jī)目錄;
4、本文未盡事宜;
由于Linux發(fā)行版很多,總有一點(diǎn)差別,但總體上還是差不多。多列目錄看看就慢慢明白了。Windows的好多目錄,我們也不是一樣不知道它是用 來做什么的,但我們一樣用Windows。再說目前Linux一樣可以點(diǎn)鼠標(biāo)來查看這些目錄,沒有什么難的。如果不會(huì)用命令,點(diǎn)鼠標(biāo)總會(huì)看,對(duì)不對(duì)?
5、關(guān)于本文;
本文是Linux文件系統(tǒng)的一個(gè)組成部份,對(duì)于一個(gè)系列文檔來說,還是必不可缺的,它也是基礎(chǔ)文檔之一。因?yàn)槲蚁肽苓^本文引出Linux文件相關(guān)的操作的文章 。為新手寫的... ....
6、后記;
寫文檔是一個(gè)堅(jiān)持的過程,寫文檔還是給了我很多的樂趣 ,權(quán)限休閑而寫,并沒有感覺到有多痛苦;如果一件事被當(dāng)成壓力,也沒有什么樂趣而言,如果果真如此,不如不做。在隨后,我可能寫一寫Linux文件相關(guān)的內(nèi)容,比如創(chuàng)建、刪除、移動(dòng)、屬性、權(quán)限等;
聯(lián)系客服