怎樣理解Linux的文件系統(tǒng)
Linux所有文件都從root開始,用'/'代表, 并且延伸到子目錄。DOS/Windows有不同的分區(qū)同時(shí)目錄都存于分區(qū)上。Linux則通過'加載'的方式把所有分區(qū)都放置在root下制定的目錄里。windows下最接近于root的是c:。
一句話總結(jié):Windows下,目錄結(jié)構(gòu)屬于分區(qū);Linux下,分區(qū)屬于目錄結(jié)構(gòu)。
在windows下, 啟動(dòng)時(shí)檢測(cè)不同的分區(qū)并被賦予一個(gè)分區(qū)字母。在Linux下除非你加載一個(gè)分區(qū)或設(shè)備,否則系統(tǒng)不會(huì)知道那個(gè)分區(qū)的存在。這看上去也許不是訪問分區(qū)或設(shè)備的最方便的方式,但他提供了偉大的機(jī)動(dòng)性。
這種構(gòu)建的方式被稱為統(tǒng)一的文件系統(tǒng),超越了windows所使用的方式。舉個(gè)使用/usr的例子。這個(gè)目錄包含了大多數(shù)的系統(tǒng)可執(zhí)行文件。在Linux文件系統(tǒng)下,你可以選擇把它加載為其他分區(qū)甚至網(wǎng)絡(luò)上的其他計(jì)算機(jī)。系統(tǒng)不會(huì)感知其中的不同,因?yàn)樗憩F(xiàn)出的只是本地目錄結(jié)構(gòu)下眾多的目錄中的一個(gè)而已。有多少次你希望在windows下移動(dòng)可執(zhí)行文件和數(shù)據(jù),而得到的是不得不去修改注冊(cè)表或干脆藍(lán)屏?你可曾奢望過移動(dòng)c:到其他分區(qū)上?
新手容易困惑的另一點(diǎn)是斜杠'/'的使用,在DOS/Windows下使用的是反斜杠''.
在Linux中,windows的c是用類似/c/windows/system來表示的。Linux是免費(fèi)的系統(tǒng)。在windows之前,Unix已經(jīng)存在了很久。從DOS開始使用'/'選項(xiàng)而''作為目錄分隔符。
更加麻煩的是Linux同樣選擇了大小寫敏感。這意味著字母的大小寫變得非常重要。所以在這種情況下THIS和ThIs是不同的。這個(gè)規(guī)定會(huì)使dos用戶遇到很多麻煩。
現(xiàn)在我們來看一看Linux文件系統(tǒng)目錄結(jié)構(gòu)的規(guī)劃。下面是在root下'ls -p'的結(jié)果:
代碼:
bin/ dev/ home/ lost+found/ proc/ sbin/ usr/ boot/ etc/ lib/ mnt/ root/ tmp/ var/
/sbin
這個(gè)目錄包含了所有使系統(tǒng)運(yùn)行的關(guān)鍵二進(jìn)制可執(zhí)行文件。包含了系統(tǒng)管理和維護(hù)硬件配置的程序。你可以在這里找到lilo, fdisk, init, ifconfig等等。
這里有所有用戶都需要的關(guān)鍵程序。
/usr/sbin
另一個(gè)包含系統(tǒng)可執(zhí)行文件的目錄。這個(gè)目錄包含了系統(tǒng)管理員使用的一些其他程序。這里你可以找網(wǎng)絡(luò)守護(hù)程序以及一些不需要維護(hù)和修理系統(tǒng)的管理員所使用的程序。
/bin
相對(duì)于/sbin, bin目錄包含一些系統(tǒng)管理員和普通用戶都可以使用的命令。這個(gè)目錄通常包含諸如bash, csh等shell,以及諸如cp, mv, rm, cat, ls等非常有用的命令。這些命令對(duì)于用戶來說是不可缺少的。
/usr/bin
包含一些其它的用戶命令。從另一方面看,這些命令本質(zhì)上并不是為用戶準(zhǔn)備的。
/boot
這個(gè)目錄包含system.map文件以及Linux kernel。Lilo將啟動(dòng)扇區(qū)的備份放在這里。
/dev
這是一個(gè)非常有趣的目錄,是Linux文件系統(tǒng)的一個(gè)閃亮的特性 - 所有對(duì)象都是文件或目錄。仔細(xì)觀察這個(gè)目錄你會(huì)發(fā)現(xiàn)hda1, hda2等, 它們代表系統(tǒng)主硬盤的不同分區(qū)。/dev/cdrom和/dev/fd0代表你的CDROM驅(qū)動(dòng)器和floppy驅(qū)動(dòng)器。看上去可能有些奇怪,但比較文件和硬件的特性這卻是十分合理的。它們都可以讀出和寫入。例如/dev/dsp,這個(gè)文件代筆你的揚(yáng)聲器。那么寫入這個(gè)文件的數(shù)據(jù)都回傳送到喇叭。試一試 'cat /etc/lilo.conf > /dev/dsp' 你會(huì)聽到一些聲音。這是你的 lilo.conf 文件的聲音!同樣,向 /dev/ttyS0 ( COM 1 ) 讀出或?qū)懭霐?shù)據(jù)你可以和接到上面的設(shè)備進(jìn)行通訊。
/home
Linux 是多用戶環(huán)境,所以每一個(gè)用戶都有一個(gè)只有自己可以訪問的目錄(當(dāng)然管理員也可以訪問)。它們以 /home/username 的方式存在。這個(gè)目錄也保存一些應(yīng)用對(duì)于這個(gè)用戶的配置,比如 IRC, X 等。
/lib
這里包含了系統(tǒng)程序所需要的所有共享庫(kù)文件,類似于 Windows 的共享庫(kù) DLL 文件。
/lost+found
Linux 應(yīng)該正確的關(guān)機(jī)。但有時(shí)你的系統(tǒng)也可能崩潰掉或突然斷電使系統(tǒng)意外關(guān)機(jī)。那么啟動(dòng)的時(shí)候 fsch 將會(huì)進(jìn)行長(zhǎng)時(shí)間的文件系統(tǒng)檢查。Fsck 會(huì)檢測(cè)并試圖恢復(fù)所發(fā)現(xiàn)的不正確的文件。被恢復(fù)的文件會(huì)放置在這個(gè)目錄中。所恢復(fù)的文件也許并不完整或并不合理,但畢竟提供了一些恢復(fù)數(shù)據(jù)的機(jī)會(huì)。
/mnt
這是一個(gè)普通的加載目錄,在這里你可以加載你的文件系統(tǒng)或設(shè)備。
加載是使一個(gè)文件系統(tǒng)對(duì)于系統(tǒng)可用的過程。
在加載后你的文件可以在加載目錄下訪問。
這個(gè)目錄通常包含加載目錄或用于加載軟驅(qū)和光驅(qū)的子目錄。
如果需要,你也可以在這里建立其它的加載目錄。
對(duì)于加載目錄的位置并沒有強(qiáng)制性的要求,你可以在系統(tǒng)的任意位置建立加載目錄。
建立 /mnt 只是為了使系統(tǒng)更工整的慣例。
/opt
這個(gè)目錄包含所有默認(rèn)系統(tǒng)安裝之外的軟件和添加的包。一般來說你可以在這里找到 KDE 和 StarOffice 。這個(gè)目錄一般并不會(huì)經(jīng)常被啟用,這是Unix系統(tǒng)安裝的標(biāo)準(zhǔn)。
/proc
這是系統(tǒng)中極為特殊的一個(gè)目錄,實(shí)際上任何分區(qū)上都不存在這個(gè)目錄。它實(shí)際是個(gè)實(shí)時(shí)的、駐留在內(nèi)存中的文件系統(tǒng)。詳細(xì)信息請(qǐng)參閱 /root
這是root的用戶用戶目錄。
/tmp
這里包含大多數(shù)要用到的臨時(shí)文件。
許多程序在這里建立lock文件和存儲(chǔ)臨時(shí)數(shù)據(jù)。有些系統(tǒng)會(huì)在啟動(dòng)或關(guān)機(jī)時(shí)清空此目錄。
/usr
這是系統(tǒng)中很重要的一個(gè)目錄,這里包含所有用戶的二進(jìn)制文件。
X,及其庫(kù)文件,用戶程序比如 telnet, ftp 等等都在這里。
/usr/doc包含系統(tǒng)文檔。/usr/src/Linux包含 Linux kernel 的源碼。
/var
這里存儲(chǔ)假脫機(jī)(spooling)數(shù)據(jù),比如 mail 以及打印機(jī)守護(hù)的輸出。
系統(tǒng)日志也存放在這里。你還可以在/var/named下找到BIND的數(shù)據(jù)庫(kù),在/var/yp下找到NIS的數(shù)據(jù)庫(kù)。
以上就是Linux文件系統(tǒng)的一些基本命令和存儲(chǔ)目錄,一句話總結(jié):Windows下,目錄結(jié)構(gòu)屬于分區(qū);Linux下,分區(qū)屬于目錄結(jié)構(gòu)。
【編輯推薦】
- 解說Linux DHCP和dhcpd的設(shè)定
- Linux DHCP服務(wù)器的設(shè)置
- Linux NFS配置的相關(guān)問題
- Linux NFS端口命令
- Linux系統(tǒng)配置
- 看看誰是***的Linux Web服務(wù)器