Linux文件系統目錄結構詳解


  在我們初學嵌入式Linux時,首先學習的就是Linux的最小根文件系統;下面我將為初學者們詳細的闡述一下Linux的最小根文件系統。

 

  根目錄在Linux中即為“/”,要進入根目錄,命令“cd  /”即可進入根目錄,並利用“ls  -l”查看當前目錄的詳細信息,如下圖所示是我當前使用的Ubuntu16.04的根目錄一級列表(在此請各位忽略不重要的一些文件和目錄,在之后再深入學習)

 

  將最小根文件系統整理之后的目錄結構如下圖所示(圖片來源於網絡)。

 

 

Linux文件系統所起的名字也很有意思,一目了然就知道該目錄的作用(以下的目錄英文全稱是本人理解,並非官方信息)。

   1.  /bin

   包含基本命令,如ls、cp、mkdir、cat等,這個目錄中的文件都是可執行的。——binary

    2.  /sbin

    包含系統命令,如modprobe、hwclock、ifconfig等,大多是涉及系統管理的命令,這個目錄中的文件都是可執行的。——system binary

    3.  /dev

    設備文件存儲目錄,應用程序通過對這些文件的讀、寫或是控制即可以對實際的設備進行訪問或控制其動作。——devices

    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.9、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文件系統中為該新設備生成一項新的記錄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM