導航:首頁 > 文件目錄 > 根文件系統是什麼

根文件系統是什麼

發布時間:2025-03-08 04:09:34

❶ 什麼是根文件系統

問題一:什麼是根文件系統 linux、UNIX操作系統中,mount(掛接)在 / 目錄(也就是根目錄)上的磁碟分區,叫做根文件系統。(也有人叫:root分區、root文件系統)

問題二:什麼是根文件系統 根文件系統首先是內核啟動時所mount的第一個文件系統,內核代碼映像文件保存在根文件系統中,而系統引導啟動程序會在根文件系統掛載之後從中把一些基本的初始化腳本和服務等載入到內存中去運行。

問題三:什麼是根文件系統 根文件系統首先是內核啟動時所mount的第一個文件系統,內核代碼映像文件保存在根文件系統中,而系統引導啟動程序會在根文件系統掛載之後從中把一些基本的初始化腳本和服務等載入到內存中去運行。
Linux啟動時,第一個必須掛載的是根文件系統;若系統不能從指定設備上掛載根文件系統,則系統會出錯而退出啟動。成功之後可以自動或手動掛載其他的文件系統。因此,一個系統中可以同時存在不同的文件系統。
在Linux中,必須要有一個根文件系統的概念。根文件系統首先是一種文件系統,該文件系統不僅具有普通文件系統的存儲數據文件的功能,但是相對於普通的文件系統,它的特殊之處在於,它是內核啟動時所掛載(mount)的第一個文件系統,內核代碼的映像文件保存在根文件系統中,系統引導啟動程序會在根文件系統掛載之後從中把一些初始化腳本(如rcS,inittab)和服務載入到內存中去運行。
mount是Linux下的一個命令,它可以將分區掛接到Linux的一個文件夾下,從而將分區和該目錄聯系起來,因此我們只要訪問這個文件夾,就相當於訪問該分區了。 目前mount已經不僅僅局限於Linux了。在Windows系統下的應用也越來越廣了,多用在虛擬光碟機類軟體上,比如Clone CD,Daemon tool,WinMount等。
根文件系統在系統啟動中到底是什麼時候掛載的呢?先將/dev/ram0掛載,而後執行/linuxrc.等其執行完後。切換根目錄,再掛載具體的根文件系統.根文件系統執行完之後,也就是到了Start_kernel()函數的最後,執行init的進程,也就第一個用戶進程。對系統進行各種初始化的操作。
根文件系統之所以在前面加一個」根「,說明它是載入其它文件系統的」根「,既然是根的話,那麼如果沒有這個根,其它的文件系統也就沒有辦法進行載入的。它包含系統引導和使其他文件系統得以掛載(mount)所必要的文件。

問題四:什麼是根文件系統 下面是從Undertanding the linux kernel 3rd摘錄的 12.4. Filesystem Handling Like every traditional Unix system, Linux makes use of a system 's root filesystem : it is the filesystem that is directly mounted by the kernel ring the booting phase and that holds the system initialization scripts and the most essential system programs. Other filesystems can be mountedeither by the initialization scripts or directly by the userson directories of already mounted filesystems. Being a tree of directories, every filesystem has its own root directory. The directory on which a filesystem is mounted is called the mount point. A mounted filesystem is a child of the mounted filesystem to which the mount point directory belongs. For instance, the /proc virtual filesystem is a child of the system 's root filesystem (and the system 's root filesystem is the parent of /proc). The root directory of a mounted filesystem hides the content of the mount point directory of the parent filesystem, as well as the whole subtree of the parent filesystem below the mount point.簡單的來說,我認為根文件系統就是一種目錄結構,那麼根文件系統和普通的文件系統有什麼區別呢?我認為根文件系統就是要包括Linux啟動時所 必須的目錄和關鍵性的文件,例如Linux啟動時都需要有init目錄下的相關文件,在Linux掛載分區時Linux一定會找/etc/fstab這個 掛載文件等,根文件系統中還包括了許多的應用程序bin目錄等,任何包括這些Linux系統啟動所必須的文件都可以成為根文件系統。 Linux支持多種文件系統類型,在嵌入式上常用的有:ROMFS,JFFS2,NFS,CRAMFS,YAFFS等等。在Linux系統中是通過mount命令來掛載不同的文件系統。在ARM Linux中常用的文件系統的配置:RAM Disk Driver + EXT2;MTD Driver + JFFS2/YAFFS;NFS;uclinux中常見的文件系統配置為:Blkmem Driver + ROMFS(支持 Nor ......>>

問題五:什麼是根文件系統 是文件系統根目錄么?就是你分區之後的盤符的首層路徑。如:C:/這類的。

問題六:根文件系統的文件系統 (1)jffs2JFFS嵌入式系統文件系統最早是由瑞典 Axis munications公司基於Linux2.0的內核為嵌入式系統開發的文件系統。JFFS2是RedHat公司基於JFFS開發的快閃記憶體文件系統,最初是針對RedHat公司的嵌入式產品eCos開發的嵌入式文件系統,所以JFFS2也可以用在Linux, uCLinux中。Jffs2: 日誌快閃記憶體嵌入式系統文件系統版本2 (Journalling Flash FileSystem v2)主要用於NOR型快閃記憶體,基於MTD驅動層,特點是:可讀寫的、支持數據壓縮的、基於哈希表的日誌型文件系統,並提供了崩潰/掉電安全保護,提供「寫平衡」支持等。缺點主要是當文件系統已滿或接近滿時,因為垃圾收集的關系而使jffs2的運行速度大大放慢。目前jffs3正在開發中。關於jffs系列文件系統的使用詳細文檔,可參考MTD補丁包中mtd-jffs-HOWTO.txt。jffsx不適合用於NAND快閃記憶體主要是因為NAND快閃記憶體的容量一般較大,這樣導致jffs為維護日誌節點所佔用的內存空間迅速增大,另外,jffsx文件系統在掛載時需要掃描整個FLASH的內容,以找出所有的日誌節點,建立文件結構,對於大容量的NAND快閃記憶體會耗費大量時間。(2)yaffs:Yet Another Flash File Systemyaffs/yaffs2是專為嵌入式系統使用 NAND型快閃記憶體而設計的一種日誌型文件系統。與jffs2相比,它減少了一些功能(例如不支持數據壓縮),所以速度更快,掛載時間很短,對內存的佔用較小。另外,它還是跨平台的文件系統,除了Linux和eCos,還支持WinCE, pSOS和ThreadX等。yaffs/yaffs2自帶NAND晶元的驅動,並且為嵌入式系統提供了直接訪問文件系統的API,用戶可以不使用Linux中的MTD與VFS,直接對文件系統操作。當然,yaffs也可與MTD驅動程序配合使用。yaffs與 yaffs2的主要區別在於,前者僅支持小頁(512 Bytes) NAND快閃記憶體,後者則可支持大頁(2KB) NAND快閃記憶體。同時,yaffs2在內存空間佔用、垃圾回收速度、讀/寫速度等方面均有大幅提升。(3) Cramfs:pressed ROM File SystemCramfs是Linux的創始人 Linus Torvalds參與開發的一種只讀的壓縮文件系統。它也基於MTD驅動程序。在cramfs文件系統中,每一頁(4KB)被單獨壓縮,可以隨機頁訪問,其壓縮比高達2:1,為嵌入式系統節省大量的Flash存儲空間,使系統可通過更低容量的FLASH存儲相同的文件,從而降低系統成本。Cramfs文件系統以壓縮方式存儲,在運行時解壓縮,所以不支持應用程序以XIP方式運行,所有的應用程序要求被拷到RAM里去運行,但這並不代表比 Ramfs需求的RAM空間要大一點,因為Cramfs是採用分頁壓縮的方式存放檔案,在讀取檔案時,不會一下子就耗用過多的內存空間,只針對目前實際讀取的部分分配內存,尚沒有讀取的部分不分配內存空間,當我們讀取的檔案不在內存時,Cramfs文件系統自動計算壓縮後的資料所存的位置,再即時解壓縮到 RAM中。另外,它的速度快,效率高,其只讀的特點有利於保護文件系統免受破壞,提高了系統的可靠性。由於以上特性,Cramfs在嵌入式系統中應用廣泛。但是它的只讀屬性同時又是它的一大缺陷,使得用戶無法對其內容對進擴充。Cramfs映像通常是放在Flash中......>>

問題七:Linux 根文件系統 為什麼 重要 沒有根,也就沒法向上長成樹;當然,Linux里的文件系統一般是一棵倒著的樹。
既然根對一棵真樹那麼重要,在Linux里也可以類推了。
根文件系統是其他文件的最終掛載點,沒有根文件系統,就像一棵被砍成七零八落的樹,亂七八糟了。。。

問題八:什麼是linux根文件系統移植 linux文件系統格式挺復雜多樣的,如ext、ext2、ext3、ext4、jsf、 、xfs、ReiserFS等。 一般情況下,linux根分區文件系統多數用ext3、ext4,安裝時你可以選擇。

問題九:Linux內核中有文件系統模塊, 那它和根文件系統什麼關系哦? linux內核是linux的真實的操作系統,所有的操作系統的相關功能都是由用戶介面程序傳遞到內核由內核來完成的。
linux文件系統是指linux操作系統對整個系統中的所有的數據、文件的管理的一種實現方式。
簡單點說:像windows它的文件系統是NTFS文件系統或者FAT文件系統,通過這種方式將windows的各種文件保存在磁碟上,用於存儲和訪問了。
而linux系統則使用ext這種文件系統來實現。

問題十:Linux 根文件系統 為什麼 重要 沒有根,也就沒法向上長成樹;當然,Linux里的文件系統一般是一棵倒著的樹。 既然根對一棵真樹那麼重要,在Linux里也可以類推了。 根文件系統是其他文件的最終掛載點,沒有根文件系統,就像一棵被砍成七零八落的樹,亂七八糟了。。。如果你還有什麼不懂的就去看看《Linux就該這么學》這本書。

❷ 什麼是根文件系統

文件系統:File System => FS;
根文件系統:Root File System => RFS。

首先你考慮一點描述語句:根文件系統也是一種「文件系統」,可以認為是一種「特殊的」「文件系統」,為什麼是叫「特殊的」呢?因為這種「根文件系統」承載著某些「特殊的功能」(其實「文件系統」相同的話,所具備的功能都是一樣的),那就是「操作系統」可能需要通過某種「布局」來管理相關設備的,諸如軟盤設備、硬碟設備、虛擬磁碟設備等等,這里可能就是用了一種已被定義好了「數據結構」的「布局」,即「文件系統」,而出現的「根文件系統」,可能是用來擔當主要或重要角色。

形象點來說,Windows下的C盤分區是有一定文件系統的,如FAT32、NTFS,這當然也都是文件系統呀。在安裝Windows操作系統時,會要求你先「格式化」C盤[當然我們目前考慮操作系統是被安裝在C盤中],採用一種「文件系統」比如NTFS、FAT32等,這一步呀,就類似於安裝「根文件系統」,也就是說在C盤中的NTFS文件系統會被稱作是「根文件系統」,而在D盤等中的NTFS文件系統會被稱作是「文件系統」或你想加上前綴名稱也不是不可以,比如「普通文件系統」,而我們從名稱上來說的話,因為這里出現了一個字眼「根」,所以我們就有兩種名稱的叫法了,自然就是FS與RFS,所以這種名稱叫法就會讓人感覺很是「雲里霧里」,而後「不知所雲」的],這個「格式化」過程就是將C盤上的存儲空間按預先定義好的一種FS的「數據結構」去「初始化」這些磁碟,[這里假設MINIX FS也可被Windows用來「格式化」C盤呀]比如建立引導塊、建立超級塊、建立兩類點陣圖塊、建立i節點點陣圖塊、建立好數據區塊等)也就是說,這個磁碟分區必須已經按一定數據結構的方式把磁碟空間「組織」好,以便「某種系統」(OS或FS,好象是FS更准確吧)能「訪問」該分區,所以在 0.11內核中會有兩種區分:mount_root() 和 sys_mount(),分別指「掛載根文件系統」、「掛載文件系統」[這里我覺得不應該用一個詞:安裝!我所理解的意思是,「安裝」就是指把某種東西 「放」到另一種東西上面去,比如你要安裝某種軟體到C盤,這種軟體的安裝程序可能在D盤,這時你會啟動D盤上該軟體的安裝程序,然後安裝程序就會把軟體默認安裝到C盤上,所以這個過程會叫做「安裝」,安裝前C盤上沒有該軟體的任何信息,安裝後C盤上就會有該軟體的信息啦],所以呢,要使用 sys_mount()功能,某種設備(具體來說就是某一分區)必須已經被某種FS的格式「安裝」好,然後該設備才會被「掛載」(mount)到「一個地 方」去。

那我們就以MINIX FS和FAT FS來分析吧。

在0.11內核代碼中,從mount_root(void)中的注釋可知,該函數會被「系統調用函數」sys_setup()調用,而在系統開機初始化設置時函數sys_setup()會被調用。為什麼不會調用sys_mount()呢?那我們又何時使用sys_mount()函數呢?其實 sys_mount()函數也是「系統調用函數」。我們在linux系統中,當你在某個shell的命令行中輸入mount後回車,你會看到以下提示信 息:
mount: usage: mount dev dir
你大概應該清楚了,而這是「正確的提示信息」,因為我們用錯mount用法了(另外,在/bin目錄下,可以看到有mount這樣一個文件,mount應 該就是一個單獨的程序了吧:-),好多地方都說mount是shell內部命令,而我更可能會認為cd才是shell的內部命令之一)。
那我們從sys_mount()函數的注釋中可以知道,該函數是「安裝文件系統調用函數」(我個人覺得這句話不太好理解),而我知道函數的功能,所以我會這么理解:這個函數是一「系統調用函數」,其功能是「將一個『文件系統』即FS『掛載』到(現有『根文件系統』即RFS的)一個「目錄」上,即目錄文件的i節點。所以呢,這個就與「mount dev dir」這樣的提示信息對應起來了;另外,我們需要知道,dev表示的是某個設備上的一個分區,而dir表示的是某一個「現有的」文件系統中的「目錄文件」,注意一定是「現有的」,在這里就是我們說的「根文件系統」,所以,你要使用mount功能,就得有以下條件:
1、在一個現有「文件系統」(根文件系統RFS)下面
2、該RFS中已經有了一些設備文件的存在,比如 /dev 下面的 hd0,hd1,等等
3、2中的/dev其實就是由RFS來管理的
4、還需要有一個目錄存在,而該目錄也是在該RFS中的即由RFS來管理的
5、當然你要有實際的磁碟設備存在(/dev/hd0隻是表示一個「虛」的設備文件名而已)且該設備已被「FS」格式化好了
6、最後你就會用mount dev dir這樣的方式,將實際的磁碟分區「掛載」到dir中

假如,你有一個硬碟(假設大小是512MB),就只是一個分區,該分區中的FS是 FAT FS(假設unix可以直接訪問,大不了看成是與minix fs是一樣的,只是名稱不同而已,以下就是把它看成就是一個minix fs來分析的)。

所以當你啟動了「0.11系統」(這個說法比較簡化,意思就是你進入了sh命令行)後,其實RFS就已經被「自動」「掛載」好了(就是 mount_root()),這時,你需要在該「0.11系統」中訪問那個硬碟,假設硬體上你已經安裝好了硬碟了,然後你會在sh命令行中進行「安裝」過 程了,假如是:
mount /dev/hd0 /mnt/fatc
即將第一個硬碟的第一個分區(目前只有一個分區)「掛載」到「RFS」中的根目錄下的mnt目錄中的fatc目錄上。所以,你可以直接「進入」到 fatc目錄中去訪問該硬碟里的文件了。
成功了!掛載成功,大功告成!

因為你了解內核代碼,所以你應該知道mount一系列過程的,你要知道以下幾點:
1、/dev/hd0, /mnt/fatc都是RFS中的「文件」(統稱),前者是設備文件,後者是目錄文件。
[體現在i節點結構中,就是各自的inode->i_mode中會區分是「設備類型文件」還是「目錄類型文件」,且前者的 inode->zone[0]存有該設備的設備號(還有inode->i_dev也是設備號,但實際含義不一樣),後者的 inode->i_mount就被置位啦,注意因為這個i節點就是一個「被『安裝』/『掛載』好了FS的i節點]

2、/這是目錄,但這個是RFS的目錄,且是根目錄。

3、/mnt/fatc 「相當於」就是那個硬碟分區中FS的根目錄。但其實該硬碟中的根目錄也是/。
[假設當你去訪問那個分區「根」目錄(其實也是/,但你能直接進去嗎?)中的某個文件hello.c,時,你會在現有sh命令行中,cd /mnt/fatc回車後 ls hello* -l,然後你會發現有hello.c這個文件,其實你就應該需要知道RFS是怎麼「定位」尋找到該hello.c文件的,當中有一個重要的過程就是需要取 每一個文件的inode信息即iget()函數,該函數中發現某文件的inode->i_mount被置位時,就「特別小心」了,為什麼?因為該 inode表示被「掛載」了一個文件系統,所以RFS會「切換」到那個FS的根目錄中去(使用了ROOT_INO,super_block.s_dev這樣的參數),然後再在該FS中按正常的過程繼續尋找所需要的文件,所以你能找到]

「正常的過程」就是指:要麼從一個FS的根目錄中開始查找文件,要不從一個文件系統當前用戶進程的當前工作目錄中開始查找文件。

所以就有一個重要的說法(我是這么理解的):跨文件系統訪問文件。這一過程涉及面較廣,主要數據結構有:i節點、超級塊。

4、最後,當你不需要使用該分區或是你想把硬碟拿走,則你會使用 umount 功能啦,這就對應 sys_umount()這一「系統調用函數」,那你就要知道該函數做了些什麼事了。

最後,總的來說:
mount_root()掛載了一個MINI FS又被稱為是RFS。
然後你可以在該RFS中再掛載別的FS。RFS與系統「共存亡」,自動被「掛載」,自動被「卸載」。
所以,FAT等也可以是根文件系統,當然也是文件系統。

所以,當你在你電腦上安裝了多操作系統時,假設在C盤(FAT32 FS)被裝了 win98,在D盤(NTFS FS)被安裝了winxp,那麼,當你進入了win98時,你FAT32好象就是RFS,那麼NTFS就是FS了;當你進入了winxp時,NTFS好象就是RFS,那麼FAT32就是FS了。
(為什麼C盤是要FAT32呢,因為win98不支持ntfs fs,而你又是裝的win98)

❸ 根文件系統的簡介

首先要明白的是「什麼是文件系統」,文件系統是對一個存儲設備上的數據和元數據進行組織的機制。這種機制有利於用戶和操作系統的交互。在一篇oracle的技術文章中看到這樣一句話「盡管內核是 Linux 的核心,但文件卻是用戶與操作系統交互所採用的主要工具。這對 Linux 來說尤其如此,這是因為在 UNIX 傳統中,它使用文件 I/O 機制管理硬體設備和數據文件」,這句話我是這樣理解的,在Linux沒有文件系統的話,用戶和操作系統的交互也就斷開了,例如我們使用最多的交互shell,包括其它的一些用戶程序,都沒有辦法運行。在這里可以看到文件系統相對於Linux操作系統的重要性。下面是Linux文件系統組件的體系結構。
用戶空間包含一些應用程序(例如,文件系統的使用者)和 GNU C 庫(glibc),它們為文件系統調用(打開、讀取、寫和關閉)提供用戶介面。系統調用介面的作用就像是交換器,它將系統調用從用戶空間發送到內核空間中的適當端點。
VFS 是底層文件系統的主要介面。這個組件導出一組介面,然後將它們抽象到各個文件系統,各個文件系統的行為可能差異很大。有兩個針對文件系統對象的緩存(inode 和dentry)。它們緩存最近使用過的文件系統對象。
每個文件系統實現(比如 ext2、JFS 等等)導出一組通用介面,供 VFS 使用。緩沖區緩存會緩存文件系統和相關塊設備之間的請求。例如,對底層設備驅動程序的讀寫請求會通過緩沖區緩存來傳遞。這就允許在其中緩存請求,減少訪問物理設備的次數,加快訪問速度。以最近使用(LRU)列表的形式管理緩沖區緩存。注意,可以使用 sync 命令將緩沖區緩存中的請求發送到存儲媒體(迫使所有未寫的數據發送到設備驅動程序,進而發送到存儲設備)。
當我們在Windows下,提到文件系統時,你的第一反應是想到的是什麼?是不是Windows下的一些Fat32、NTFS等的文件系統的類型。而在Linux中,你可能會想到Ext2、Ext3,但你還必須要有一個根文件系統的概念。根文件系統首先是一種文件系統,該文件系統不僅具有普通文件系統的存儲數據文件的功能,但是相對於普通的文件系統,它的特殊之處在於,它是內核啟動時所掛載(mount)的第一個文件系統,內核代碼的映像文件保存在根文件系統中,系統引導啟動程序會在根文件系統掛載之後從中把一些初始化腳本(如rcS,inittab)和服務載入到內存中去運行。我們要明白文件系統和內核是完全獨立的兩個部分。在嵌入式中移植的內核下載到開發板上,是沒有辦法真正的啟動Linux操作系統的,會出現無法載入文件系統的錯誤。
那麼根文件系統在系統啟動中到底是什麼時候掛載的呢?先將/dev/ram0掛載,而後執行/linuxrc.等其執行完後。切換根目錄,再掛載具體的根文件系統.根文件系統執行完之後,也就是到了Start_kernel()函數的最後,執行init的進程,也就第一個用戶進程。對系統進行各種初始化的操作。如果要弄明白這里的過程的話,可要好好的看看Linux內核源碼了。下圖展示了VFS,內核,文件系統的層次結構:
根文件系統之所以在前面加一個」根「,說明它是載入其它文件系統的」根「,既然是根的話,那麼如果沒有這個根,其它的文件系統也就沒有辦法進行載入的。它包含系統引導和使其他文件系統得以掛載(mount)所必要的文件。根文件系統包括Linux啟動時所必須的目錄和關鍵性的文件,例如Linux啟動時都需要有init目錄下的相關文件,在 Linux掛載分區時Linux一定會找/etc/fstab這個掛載文件等,根文件系統中還包括了許多的應用程序bin目錄等,任何包括這些Linux 系統啟動所必須的文件都可以成為根文件系統。
Linux啟動時,第一個必須掛載的是根文件系統;若系統不能從指定設備上掛載根文件系統,則系統會出錯而退出啟動。成功之後可以自動或手動掛載其他的文件系統。因此,一個系統中可以同時存在不同的文件系統。
在 Linux 中將一個文件系統與一個存儲設備關聯起來的過程稱為掛載(mount)。使用 mount 命令將一個文件系統附著到當前文件系統層次結構中(根)。在執行掛裝時,要提供文件系統類型、文件系統和一個掛裝點。根文件系統被掛載到根目錄下「/」上後,在根目錄下就有根文件系統的各個目錄,文件:/bin /sbin /mnt等,再將其他分區掛接到/mnt目錄上,/mnt目錄下就有這個分區的各個目錄,文件。
Linux根文件系統中一般有如下圖的幾個目錄:
1./bin目錄
該目錄下的命令可以被root與一般賬號所使用,由於這些命令在掛接其它文件系統之前就可以使用,所以/bin目錄必須和根文件系統在同一個分區中。
/bin目錄下常用的命令有:cat、chgrp、chmod、cp、ls、sh、kill、mount、umount、mkdir、[、test等。其中「[」命令就是test命令,我們在利用Busybox製作根文件系統時,在生成的bin目錄下,可以看到一些可執行的文件,也就是可用的一些命令。
2./sbin 目錄
該目錄下存放系統命令,即只有系統管理員(俗稱最高許可權的root)能夠使用的命令,系統命令還可以存放在/usr/sbin,/usr/local/sbin目錄下,/sbin目錄中存放的是基本的系統命令,它們用於啟動系統和修復系統等,與/bin目錄相似,在掛接其他文件系統之前就可以使用/sbin,所以/sbin目錄必須和根文件系統在同一個分區中。
/sbin目錄下常用的命令有:shutdown、reboot、fdisk、fsck、init等,本地用戶自己安裝的系統命令放在/usr/local/sbin目錄下。
3、/dev目錄
該目錄下存放的是設備與設備介面的文件,設備文件是Linux中特有的文件類型,在Linux系統下,以文件的方式訪問各種設備,即通過讀寫某個設備文件操作某個具體硬體。比如通過dev/ttySAC0文件可以操作串口0,通過/dev/mtdblock1可以訪問MTD設備的第2個分區。比較重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/lp*等。
4./etc目錄
該目錄下存放著系統主要的配置文件,例如人員的賬號密碼文件、各種服務的其實文件等。一般來說,此目錄的各文件屬性是可以讓一般用戶查閱的,但是只有root有許可權修改。對於PC上的Linux系統,/etc目錄下的文件和目錄非常多,這些目錄文件是可選的,它們依賴於系統中所擁有的應用程序,依賴於這些程序是否需要配置文件。在嵌入式系統中,這些內容可以大為精減。
5./lib目錄
該目錄下存放共享庫和可載入(驅動程序),共享庫用於啟動系統。運行根文件系統中的可執行程序,比如:/bin /sbin 目錄下的程序。
6./home目錄
系統默認的用戶文件夾,它是可選的,對於每個普通用戶,在/home目錄下都有一個以用戶名命名的子目錄,裡面存放用戶相關的配置文件。
7./root目錄
系統管理員(root)的主文件夾,即是根用戶的目錄,與此對應,普通用戶的目錄是/home下的某個子目錄。
8./usr目錄
/usr目錄的內容可以存在另一個分區中,在系統啟動後再掛接到根文件系統中的/usr目錄下。裡面存放的是共享、只讀的程序和數據,這表明/usr目錄下的內容可以在多個主機間共享,這些主要也符合FHS標準的。/usr中的文件應該是只讀的,其他主機相關的,可變的文件應該保存在其他目錄下,比如/var。/usr目錄在嵌入式中可以精減。
9./var目錄
與/usr目錄相反,/var目錄中存放可變的數據,比如spool目錄(mail,news),log文件,臨時文件。
10./proc目錄
這是一個空目錄,常作為proc文件系統的掛接點,proc文件系統是個虛擬的文件系統,它沒有實際的存儲設備,裡面的目錄,文件都是由內核
臨時生成的,用來表示系統的運行狀態,也可以操作其中的文件控制系統。
11./mnt目錄
用於臨時掛載某個文件系統的掛接點,通常是空目錄,也可以在裡面創建一引起空的子目錄,比如/mnt/cdram /mnt/hda1 。用來臨時掛載光碟、移動存儲設備等。
12. /tmp目錄
用於存放臨時文件,通常是空目錄,一些需要生成臨時文件的程序用到的/tmp目錄下,所以/tmp目錄必須存在並可以訪問。
那我們利用Busybox製作根文件系統就是創建這上面的這些目錄,和這些目錄下面的各種文件。
對於嵌入式Linux系統的根文件系統來說,一般可能沒有上面所列出的那麼復雜,比如嵌入式系統通常都不是針對多用戶的,所以/home這個目錄在一般嵌入式Linux中可能就很少用到,而/boot這個目錄則取決於你所使用的BootLoader是否能夠重新獲得內核映象從你的根文件系統在內核啟動之前。一般說來,只有/bin,/dev,/etc,/lib,/proc,/var,/usr這些需要的,而其他都是可選的。
根文件系統一直以來都是所有類Unix操作系統的一個重要組成部分,也可以認為是嵌入式Linux系統區別於其他一些傳統嵌入式操作系統的重要特徵,它給 Linux帶來了許多強大和靈活的功能,同時也帶來了一些復雜性。我們需要清楚的了解根文件系統的基本結構,以及細心的選擇所需要的系統庫、內核模塊和應用程序等,並配置好各種初始化腳本文件,以及選擇合適的文件系統類型並把它放到實際的存儲設備的合適位置,下面是幾中比較常用的文件系統。

❹ Linux根文件系統詳解

Linux的文件和目錄組織是一個單根的倒置的樹狀結構,文件系統從根目錄下開始,用"/"表示,我們也可稱為根文件系統(rootfs),這樣的根文件系統,有以下特性:

(1) 文件名稱區分大小寫

(2)滾余 以.開頭的文件為隱藏文件

(3) 以/作為路徑分隔符

在Linux各大發行版中它們的文件和目錄組織其實是遵循FHS(Filesystem Hierarchy Standard)標准,FHS定義了系統中每個目錄的用途。FHS有2層規范,第一層里定義了/下的各個目錄應該要放什麼數據。第2層則是針對/usr及/var這2個目錄的子目錄來定義。最新版本FHS2.3,大致內容如下表所示大銷滾:

各大發行版除了遵循基本的LFS之外,也可以追加自己的目錄結構,形成自己的風格;例如:在Ubuntu中網卡配置文件是存放在/etc/network/目錄下,CentOS是在/etc/sysconfig/network-scripts/目錄下。CentOS系統一些重要的目錄及其基本用斗和途如下圖所示:

CentOS7之後bin,lib,lib64,sbin合並到/usr/bin,/usr/lib/,/usr/lib64,/usr/sbin里了。

閱讀全文

與根文件系統是什麼相關的資料

熱點內容
單元格內容的變化改變引用文件夾的圖片 瀏覽:984
微信excel文件打開空白 瀏覽:26
win10把office放在桌面 瀏覽:60
雨林win10系統激活 瀏覽:563
西部數據哪個型號硬碟好 瀏覽:189
win10無法運行tgp 瀏覽:171
vbs創建子文件夾 瀏覽:240
車載音樂APP花的什麼流量 瀏覽:894
陌陌聊天群怎麼升級 瀏覽:189
如何管理秘密文件 瀏覽:200
linuxfork線程 瀏覽:548
javabean原理和機制 瀏覽:546
榮威rx5導航怎麼升級 瀏覽:116
同花順中各項數據都是什麼意思 瀏覽:532
lumion怎麼輸出視頻教程 瀏覽:736
GML文件格式轉換 瀏覽:120
數據線抗拉環怎麼用 瀏覽:300
為什麼蘋果6手機沒有網路設置密碼 瀏覽:187
ae文字教程 瀏覽:838
如何拉文件進去cad直接打開 瀏覽:400

友情鏈接