當前位置:首頁 » 電腦資訊 » 根文件系統為什麼有必需目錄

根文件系統為什麼有必需目錄

發布時間: 2022-08-20 17:33:20

『壹』 在構建嵌入式Linux系統時,其根文件系統必須包含哪些目錄

根據Filesystem Hierarchy Standard(文件系統目錄標准,簡稱FHS)中包含的根文件系統官方規則:
bin 必要的用戶命令(二進制文件)
boot 引導載入程序所使用的靜態文件
dev 設備文件和其他特殊文件
etc 系統配置文件,包括啟動文件
home 用戶主目錄
lib 必要的程序庫(例如c程序庫)以及內核模塊
media 掛載點,用於可移除媒體
mnt 掛載點,用於暫時掛載的文件系統
opt 附加的軟體套件
proc 用於提供內核與進程信息的虛擬文件系統
root root用戶的主目錄
sbin 必要的系統管理員命令
sys 系統信息與控制(匯流排、設備以及驅動程序)的虛擬文件系統
tmp 暫時性的文件
usr 在第二層包含了對大多數用戶游泳的大量應用程序和文件,包括X伺服器
var 用於存放監控程序和工具程序的可變的數據

當然這不是必須的,只是一個標准。可以按自己的需要去添加和刪除

『貳』 Linux中的根目錄下的各個文件都有什麼作用

linux根目錄下各文件夾的作用

/bin 二進制可執行命令
/dev 設備特殊文件
/etc 系統管理和配置文件
/etc/rc.d 啟動的配置文件和腳本
/home 用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示
/lib 標准程序設計庫,又叫動態鏈接共享庫,作用類似windows里的.dll文件
/sbin 系統管理命令,這里存放的是系統管理員使用的管理程序
/tmp 公用的臨時文件存儲點
/root 系統管理員的主目錄(呵呵,特權階級)
/mnt 系統提供這個目錄是讓用戶臨時掛載其他的文件系統。
/lost+found 這個目錄平時是空的,系統非正常關機而留下「無家可歸」的文件(windows下叫什麼.chk)就在這里
/proc 虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息。
/var 某些大文件的溢出區,比方說各種服務的日誌文件
/usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包含:
/usr/x11r6 存放x window的目錄
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/doc linux文檔
/usr/include linux下開發和編譯應用程序所需要的頭文件
/usr/lib 常用的動態鏈接庫和軟體包的配置文件
/usr/man 幫助文檔
/usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫根文件系統

通常情況下,根文件系統所佔空間一般應該比較小,因為其中的絕大部分文件都不需要
經常改動,而且包括嚴格的文件和一個小的不經常改變的文件系統不容易損壞。
除了可能的一個叫/ v m l i n u z標準的系統引導映像之外,根目錄一般不含任何文件。所有
其他文件在根文件系統的子目錄中。
1. /bin目錄
/ b i n目錄包含了引導啟動所需的命令或普通用戶可能用的命令(可能在引導啟動後)。這些
命令都是二進制文件的可執行程序( b i n是b i n a r y - -二進制的簡稱),多是系統中重要的系統文件。
2. /sbin目錄
/ s b i n目錄類似/bin ,也用於存儲二進制文件。因為其中的大部分文件多是系統管理員使
用的基本的系統程序,所以雖然普通用戶必要且允許時可以使用,但一般不給普通用戶使用。
3. /etc目錄
/ e t c目錄存放著各種系統配置文件,其中包括了用戶信息文件/ e t c / p a s s w d,系統初始化文
件/ e t c / r c等。l i n u x正是*這些文件才得以正常地運行。
4. /root目錄
/root 目錄是超級用戶的目錄。
5. /lib目錄
/ l i b目錄是根文件系統上的程序所需的共享庫,存放了根文件系統程序運行所需的共享文
件。這些文件包含了可被許多程序共享的代碼,以避免每個程序都包含有相同的子程序的副
本,故可以使得可執行文件變得更小,節省空間。
6. /lib/moles 目錄
/lib/moles 目錄包含系統核心可載入各種模塊,尤其是那些在恢復損壞的系統時重新引
導系統所需的模塊(例如網路和文件系統驅動)。
7. /dev目錄
/ d e v目錄存放了設備文件,即設備驅動程序,用戶通過這些文件訪問外部設備。比如,用
戶可以通過訪問/ d e v / m o u s e來訪問滑鼠的輸入,就像訪問其他文件一樣。
8. /tmp目錄
/tmp 目錄存放程序在運行時產生的信息和數據。但在引導啟動後,運行的程序最好使用
/ v a r / t m p來代替/tmp ,因為前者可能擁有一個更大的磁碟空間。
9. /boot目錄
/ b o o t目錄存放引導載入器(bootstrap loader)使用的文件,如l i l o,核心映像也經常放在這里,
而不是放在根目錄中。但是如果有許多核心映像,這個目錄就可能變得很大,這時使用單獨的
文件系統會更好一些。還有一點要注意的是,要確保核心映像必須在i d e硬碟的前1 0 2 4柱面內。
10. /mnt目錄
/ m n t目錄是系統管理員臨時安裝( m o u n t )文件系統的安裝點。程序並不自動支持安裝到
/mnt 。/mnt 下面可以分為許多子目錄,例如/mnt/dosa 可能是使用m s d o s文件系統的軟碟機,
而/mnt/exta 可能是使用e x t 2文件系統的軟碟機,/mnt/cdrom 光碟機等等。
11. /proc, /usr,/var,/home目錄
其他文件系統的安裝點。

『叄』 linux內核所需的根文件系統必須包括哪些目錄,以圖示說明

dev,etc,lib,mnt,proc,sys,tmp,var
這幾個文件夾屬於必備文件夾,
根文件系統必須包括

『肆』 什麼是根目錄 根目錄是什麼意思

1、根目錄指邏輯驅動器的最上一級目錄,它是相對子目錄來說的。打開「我的電腦」,雙擊C盤就進入C盤的根目錄,雙擊D盤就進入D盤的根目錄。其它類推。

2、根目錄在文件系統建立時即已被創建,其目的就是存儲子目錄(也稱為文件夾)或文件的目錄項。一「棵「目錄樹,樹的最根本就是它的根(根目錄)。

『伍』 什麼是根文件系統

簡單的來說,根文件系統就是一種目錄結構,那麼根文件系統和普通的文件系統有什麼區別呢?我認為根文件系統就是要包括Linux啟動時所 必須的目錄和關鍵性的文件,例如Linux啟動時都需要有init目錄下的相關文件,在Linux掛載分區時Linux一定會找/etc/fstab這個 掛載文件等,根文件系統中還包括了許多的應用程序bin目錄等,任何包括這些Linux系統啟動所必須的文件都可以成為根文件系統。

『陸』 根文件系統的簡介

首先要明白的是「什麼是文件系統」,文件系統是對一個存儲設備上的數據和元數據進行組織的機制。這種機制有利於用戶和操作系統的交互。在一篇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帶來了許多強大和靈活的功能,同時也帶來了一些復雜性。我們需要清楚的了解根文件系統的基本結構,以及細心的選擇所需要的系統庫、內核模塊和應用程序等,並配置好各種初始化腳本文件,以及選擇合適的文件系統類型並把它放到實際的存儲設備的合適位置,下面是幾中比較常用的文件系統。

『柒』 根目錄是啥意思

根目錄指邏輯驅動器的最上一級目錄,它是相對子目錄來說的。我的電腦中雙擊C盤就進入C盤的根目錄,雙擊D盤就進入D盤的根目錄,其它類推。

根目錄在文件系統建立時即已被創建,其目的就是存儲子目錄(也稱為文件夾)或文件的目錄項。一「棵「目錄樹,樹的最根本就是它的根(根目錄)。

根目錄的作用

軟體的更新文件都是需要在根目錄下直接覆蓋的,有不少設置也都是需要在根目錄下進行設置的,同時軟體的配置以及存儲的信息也都在根目錄中,在各個文件夾裡面還存儲著各個軟體的主要內容,所以大家一定要保證根目錄的完整性,根目錄下的文件缺少一點都會造成文件無法打開等復雜情況。

熱點內容
為什麼躺著時間長了腰窩硬疼 發布:2024-05-05 02:36:03 瀏覽:547
星星為什麼看起來顏色不一樣 發布:2024-05-05 02:26:53 瀏覽:343
為什麼不能做一晚上 發布:2024-05-05 01:55:34 瀏覽:927
黑眼兔為什麼晚上眼睛會發紅光 發布:2024-05-05 01:55:20 瀏覽:569
為什麼鋼琴顏色像是被氧化了 發布:2024-05-05 01:53:34 瀏覽:483
為什麼在淘寶買不到雙黃連 發布:2024-05-05 01:53:33 瀏覽:827
為什麼玩游戲開語音軟體會卡 發布:2024-05-05 01:27:02 瀏覽:990
為什麼華為手機長時間開不開機 發布:2024-05-05 01:22:42 瀏覽:767
為什麼晚上不適宜吃蘋果 發布:2024-05-05 01:21:55 瀏覽:80
黑傷為什麼會晚上出現 發布:2024-05-05 01:13:58 瀏覽:148