在咱們初學嵌入式Linux時,首先學習的就是Linux的最小根文件系統;下面我將爲初學者們詳細的闡述一下Linux的最小根文件系統。html
根目錄在Linux中即爲「/」,要進入根目錄,命令「cd /」便可進入根目錄,並利用「ls -l」查看當前目錄的詳細信息,以下圖所示是我當前使用的Ubuntu16.04的根目錄一級列表(在此請各位忽略不重要的一些文件和目錄,在以後再深刻學習)linux
將最小根文件系統整理以後的目錄結構以下圖所示(圖片來源於網絡)。服務器
Linux文件系統所起的名字也頗有意思,一目瞭然就知道該目錄的做用(如下的目錄英文全稱是本人理解,並不是官方信息)。網絡
1. /bin架構
包含基本命令,如ls、cp、mkdir、cat等,這個目錄中的文件都是可執行的。——binary學習
2. /sbin操作系統
包含系統命令,如modprobe、hwclock、ifconfig等,大可能是涉及系統管理的命令,這個目錄中的文件都是可執行的。——system binary日誌
3. /devhtm
設備文件存儲目錄,應用程序經過對這些文件的讀、寫或是控制便可以對實際的設備進行訪問或控制其動做。——devicesblog
4. /etc
系統配置文件目錄,一些服務器的配置文件也在這裏。如用戶的帳號和密碼、系統環境變量等,busybox的啓動腳本也存放在這裏。——etcetera
5. /lib
系統庫文件目錄,如我使用的EXYNOS4412燒寫的文件系統中lib包含了librt-2.11.so、libgcc_s.so、libpthread-2.11.so等。——library
6. /mnt
該目錄通常是用於存放掛載存儲設備的掛載目錄,若有chrom等目錄,可參考/etc/fstab的定義。有須要時,也可讓系統啓動時自動掛載文件系統的掛載點放在該目錄的操做都是容許的。——mount
7. /opt
opt是「可選」的意思,有些軟件包會被安裝在這裏,例如我所移植的嵌入式Qt就存放在該目錄。——option
8. /proc
操做系統運行時,進程及內核信息(如CPU、硬盤分區、內存信息等)存放在這裏。/proc目錄爲僞文件系統proc的掛載目錄,proc並非真正的文件系統,它存在於內存中。——process
9. /tmp
在用戶運行程序時,可能會產生臨時文件,/tmp就用來存放這些臨時文件。——temporary
10. /usr
該目錄是系統用於存放程序的目錄,例如用戶命令、用戶庫文件等。如我使用的riscv架構上的Linux文件系統中usr包含了bin、lib、sbin、share四個子目錄。其中/usr/bin目錄下包含了ipcs、env等命令,/usr/lib目錄下包含了libncurses.so.5.九、libpci.so.3.5.1等,/usr/sbin目錄下包含了dropbear、flashcp、i2cdetect等,/usr/share包含了一些其它文件。——user
11. /var
var表示的是變化的意思,該目錄中的內容常常會變更,如/var/log下存放是的系統日誌。——variety
12. /sys
Linux2.6內核所支持的sysfs文件系統被映射在此目錄。sysfs虛擬文件系統提供了一種比proc更爲理想的訪問內核數據的途徑,其主要做用在於爲管理linux設備提供一種統一模型的接口。Linux設備驅動模型中的總線、驅動和設備均可以在sysfs文件系統中找到對應的節點。當內核檢測到在系統中出現了新設備後,內核會在sysfs文件系統中爲該新設備生成一項新的記錄。
原文出處:https://www.cnblogs.com/ImagineMiracle-wxn/p/Linux_FSDS-Imagine_Miracle.html