【云圖說】第235期 DDS讀寫兩步走 帶您領略只讀節點的風采
711
2025-03-31
怎樣理解Linux的文件系統
Linux 所有 文件 都從root開始,用'/'代表, 并且延伸到子目錄。DOS/Windows有不同的分區同時目錄都存于分區上。Linux則通過'加載'的方式把所有分區都放置在root下制定的目錄里。windows下最接近于root的是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
這是系統中極為特殊的一個目錄,實際上任何分區上都不存在這個目錄。它實際是個實時的、駐留在內存中的文件系統。詳細信息請參閱 /root
這是root的用戶用戶目錄。
/tmp
這里包含大多數要用到的臨時文件。
許多程序在這里建立lock文件和存儲臨時數據。有些系統會在啟動或關機時清空此目錄。
/usr
這是系統中很重要的一個目錄,這里包含所有用戶的二進制文件。
X,及其庫文件,用戶程序比如 telnet, ftp 等等都在這里。
/usr/doc包含系統文檔。/usr/src/Linux包含 Linux kernel 的源碼。
/var
這里存儲假脫機(spooling)數據,比如 mail 以及打印機守護的輸出。
系統日志也存放在這里。你還可以在/var/named下找到BIND的數據庫,在/var/yp下找到NIS的數據庫。
以上就是Linux文件系統的一些基本命令和存儲目錄,一句話總結:Windows下,目錄結構屬于分區;Linux下,分區屬于目錄結構。
Linux Windows
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。