文件系統是操作系統用於明確存儲設備(常見的是磁碟,也有基於NAND Flash的固態硬碟)或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。
文件系統使用文件和樹形目錄的抽象邏輯概念代替了硬碟和光碟等物理設備使用數據塊的概念,用戶使用文件系統來保存數據不必關心數據實際保存在硬碟(或者光碟)的地址為多少的數據塊上,只需要記住這個文件的所屬目錄和文件名。
在寫入新數據之前,用戶不必關心硬碟上的塊地址沒有被使用,硬碟上的存儲空間管理(分配和釋放)功能由文件系統自動完成,用戶只需要記住數據被寫入到了哪個文件中。
文件系統通常使用硬碟和光碟這樣的存儲設備,並維護文件在設備中的物理位置。但是,實際上文件系統也可能僅僅是一種訪問數據的界面而已,實際的數據是通過網路協議(如NFS、SMB、9P等)提供的或者內存上,甚至可能根本沒有對應的文件(如proc文件系統)。
(1)什麼是載入文件系統擴展閱讀:
在文件系統中,文件名是用於定位存儲位置。大多數的文件系統對文件名的長度有限制。在一些文件系統中,文件名是大小寫不敏感(如「FOO」和「foo」指的是同一個文件);在另一些文件系統中則大小寫敏感。
現今的文件系統允許文件名包含非常多的Unicode字元集的字元。然而在大多數文件系統的界面中,會限制某些特殊字元出現在文件名中。(文件系統可能會用這些特殊字元來表示一個設備、設備類型、目錄前綴、或文件類型)然而,這些特殊的字元會允許存在於用雙引號內的文件名。方便起見,一般不建議在文件名中包含特殊字元。
『貳』 怎樣理解linux的文件系統
Linux所有文件都從開始,用'/'代表, 並且延伸到子目錄。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下,分區屬於目錄結構。
『叄』 什麼是文件系統
在搜索引擎上有很多朋友咨詢文件系統是指的相關信息,下面由小編為大家統一解答文件系統是指。
文件系統是操作系統用於明確存儲設備(常見的是磁碟,也有基於NAND Flash的固態硬碟)或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟體機構稱為文件管理系統,簡稱文件系統。
還想搜其他與文件系統是指相關信息,請點擊下方更多的答案。