1. 程式人生 > >Linux檔案系統目錄結構詳解

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檔案系統中為該新裝置生成一項新的記錄。

&n