歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 值得深究的Linux文件系統

值得深究的Linux文件系統

日期:2017/2/25 10:37:15   编辑:Linux教程

  大多數由windows平台轉來的用戶在使用linux文件系統的時候都會感到困惑。linux文件系統與windows文件系統有很大的差別。本文設身處地的為新手介紹他們的不同點並且向新手介紹linux的文件系統。

  作為開端,只有一個單獨的頂級目錄結構。所有一切都從 '根' 開始,用 '/' 代表, 並且延伸到子目錄。DOS/Windows有不同的分區,同時目錄都存於分區上。linux則通過 '加載' 的方式把所有分區都放置在 '根' 下制定的目錄裡。windows下最接近於 '根' 的是c:。

  一句話總結:Windows下,目錄結構屬於分區;Linux下,分區 '加載' 於目錄結構。

  在windows下, 啟動時檢測不同的分區並被賦予一個分區字母。在linux下除非你加載一個分區或設備,否則系統不會知道那個分區的存在。這看上去也許不是訪問分區或設備的最方便的方式,但是這種方式提供了偉大的機動性。

  這種構建的方式被稱為統一的文件系統,超越了windows所使用的方式。舉個使用 /usr 的例子。這個目錄包含了大多數的系統可執行文件。在Linux文件系統下,你可以選擇把它加載為其他分區甚至網絡上的其他計算機。系統不會感知其中的不同,因為它表現出的只是本地目錄結構下眾多的目錄中的一個而已。你是否有妄圖在windows下移動可執行文件和數據,而得到的是不得不去修改注冊表或干脆藍屏?你可曾奢望過移動 c: 到其他分區上?

  新手容易困惑的另一點是斜槓 '/' 的使用,在DOS/Windows下使用的是反斜槓 '\' .

  在linux中,windows的 c 是用類似 /c/windows/system 來表示的。Linux是免費的系統。在windows之前,Unix已經存在了很久。從DOS開始使用 '/' 選項而 '\' 作為目錄分隔符。

  更加麻煩的是Linux同樣選擇了大小寫敏感。這意味著字母的大小寫變得非常重要。所以在這種情況下THIS和ThIs是不同的。這個規定會使dos用戶遇到很多麻煩。

  現在我們來看一看linux文件系統目錄結構的規劃。下面是在root下 'ls -p' 的結果:

  代碼: bin/ dev/ home/ lost+found/ proc/ sbin/ usr/ boot/ etc/ lib/ mnt/ root/ tmp/ var/

  /sbin

  這個目錄包含了所有使系統運行的關鍵二進制可執行文件。包含了系統管理和維護硬件配置的程序。你可以在這裡找到lilo, fdisk, init, ifconfig等等。這裡有所有用戶都需要的關鍵程序。

  /usr/sbin

  另一個包含系統可執行文件的目錄。這個目錄包含了系統管理員使用的一些其他程序。這裡你可以找網絡守護程序以及一些不需要維護和修理系統的管理員所使用的程序。

  /bin

  相對於/sbin, bin目錄包含一些系統管理員和普通用戶都可以使用的命令。這個目錄通常包含諸如bash, csh等shell,以及諸如cp, mv, rm, cat, ls等非常有用的命令。這些命令對於用戶來說是不可缺少的。

  /usr/bin

  包含一些其它的用戶命令。從另一方面看,這些命令本質上並不是為用戶准備的。

  /boot

  這個目錄包含system.map文件以及Linux kernel。Lilo將啟動扇區的備份放在這裡。

  /dev

  這是一個非常有趣的目錄,是Linux文件系統的一個閃亮的特性 - 所有對象都是文件或目錄。仔細觀察這個目錄你會發現hda1, hda2等, 它們代表系統主硬盤的不同分區。/dev/cdrom和/dev/fd0代表你的CDROM驅動器和floppy驅動器。看上去可能有些奇怪,但比較文件和硬件的特性這卻是十分合理的。它們都可以讀出和寫入。例如/dev/dsp,這個文件代筆你的揚聲器。那麼寫入這個文件的數據都回傳送到喇叭。試一試 'cat /etc/lilo.conf > /dev/dsp' 你會聽到一些聲音。這是你的 lilo.conf 文件的聲音!同樣,向 /dev/ttyS0 ( COM 1 ) 讀出或寫入數據你可以和接到上面的設備進行通訊。

  /home

  Linux 是多用戶環境,所以每一個用戶都有一個只有自己可以訪問的目錄(當然管理員也可以訪問)。它們以 /home/username 的方式存在。這個目錄也保存一些應用對於這個用戶的配置,比如 IRC, X 等。

  /lib

  這裡包含了系統程序所需要的所有共享庫文件,類似於 Windows 的共享庫 DLL 文件。

  /lost+found

  Linux 應該正確的關機。但有時你的系統也可能崩潰掉或突然斷電使系統意外關機。那麼啟動的時候 fsch 將會進行長時間的文件系統檢查。Fsck 會檢測並試圖恢復所發現的不正確的文件。被恢復的文件會放置在這個目錄中。所恢復的文件也許並不完整或並不合理,但畢竟提供了一些恢復數據的機會。

  /mnt

  這是一個普通的加載目錄,在這裡你可以加載你的文件系統或設備。加載是使一個文件系統對於系統可用的過程,在加載後你的文件可以在加載目錄下訪問。這個目錄通常包含加載目錄或用於加載軟驅和光驅的子目錄,如果需要,你也可以在這裡建立其它的加載目錄,對於加載目錄的位置並沒有強制性的要求,你可以在系統的任意位置建立加載目錄。 建立 /mnt 只是為了使系統更工整的慣例。

  /opt

  這個目錄包含所有默認系統安裝之外的軟件和添加的包。一般來說你可以在這裡找到 KDE 和 StarOffice 。這個目錄一般並不會經常被啟用,這是Unix系統安裝的標准。

  /proc

  這是系統中極為特殊的一個目錄,實際上任何分區上都不存在這個目錄。它實際是個實時的、駐留在內存中的文件系統。詳細信息請參閱[url]http://www.freeos.com/articles/2879/[/url]

  /root

  這是root的用戶用戶目錄。

  /tmp

  這裡包含大多數要用到的臨時文件。許多程序在這裡建立lock文件和存儲臨時數據。有些系統會在啟動或關機時清空此目錄。

  /usr

  這是系統中很重要的一個目錄,這裡包含所有用戶的二進制文件。X,及其庫文件,用戶程序比如 telnet, ftp 等等都在這裡。

  /usr/doc包含系統文檔。/usr/src/linux包含 Linux kernel 的源碼。

  /var

  這裡存儲假脫機(spooling)數據,比如 mail 以及打印機守護的輸出,系統日志也存放在這裡。你還可以在/var/named下找到BIND的數據庫,在/var/yp下找到NIS的數據庫。

Copyright © Linux教程網 All Rights Reserved