您好,登錄后才能下訂單哦!
binEssential command binaries 所有用戶可用的基本命令的二進制程序
bootStatic files of the boot loader 引導加載器必須用到的靜態文件 ,kernel initramfs(initrd),grub等。
devDevice files 存儲特殊文件或設備文件 設備有兩種類型: 塊設備(隨機設備)、字符設備(線性設備)
etc Host-specific system configuration 系統程序配置文件,不能為二進制程序
home 普通用戶家目錄的集中位置,一般每個用戶的家目錄默認為此目錄下與用戶同名的子目錄 , /home/$USER
root Home directory for the root user (optional) 管理員的家目錄,可選。應該使用普通用戶登陸。
lib Essential shared libraries and kernel modules 基本共享庫和內核模塊 為系統啟動或跟文件系統上的應用程序(/bin,/sbin等)提供共享庫,以及為內核提供內核模塊
tmp: Temporary files 存儲程序產生的臨時文件的目錄,此目錄所有用戶都能執行寫操作。
usr: Secondary hierarchy usr層級結構 第二重要的文件系統,
var contains variable data files. This includes spool directories and files, administrative and logging data, and transient and temporary files. 存儲時常發生變化的數據
proc基于內存的虛擬文件系統,存儲內核和進程相關文件,多為內核參數, 例如 net.ipv4.ip_forward,虛擬為 net/ipv4/ip_forward , 完整路徑為 /proc/sys/net/ipv4/ip_forward
sys 基于內存的sysfs虛擬文件系統提供了一種比proc 更為理想的訪問內核數據的途徑,主要作用是管理Linux設備提供一種統一的模型的接口
devices 這是內核對系統中所有設備的分層次表達模型,也是 /sys 文件系統管理設備的最重要的目錄結構,下文會對它的內部結構作進一步分析;
dev 這個目錄下維護一個按字符設備和塊設備的主次號碼(major:minor)鏈接到真實的設備(/sys/devices下)的符號鏈接文件,它是在內核 2.6.26 首次引入;
bus 這是內核設備按總線類型分層放置的目錄結構, devices 中的所有設備都是連接于某種總線之下,在這里的每一種具體總線之下可以找到每一個具體設備的符號鏈接,它也是構成 Linux 統一設備模型的一部分;
class 這是按照設備功能分類的設備模型,如系統所有輸入設備都會出現在 /sys/class/input 之下,而不論它們是以何種總線連接到系統。它也是構成 Linux 統一設備模型的一部分;
block 這里是系統中當前所有的塊設備所在,按照功能來說放置在 /sys/class 之下會更合適,但只是由于歷史遺留因素而一直存在于 /sys/block, 但從 2.6.22 開始就已標記為過時,只有在打開了 CONFIG_SYSFS_DEPRECATED 配置下編譯才會有這個目錄的存在,并且在 2.6.26 內核中已正式移到 /sys/class/block, 舊的接口 /sys/block 為了向后兼容保留存在,但其中的內容已經變為指向它們在 /sys/devices/ 中真實設備的符號鏈接文件;
firmware 這里是系統加載固件機制的對用戶空間的接口,關于固件有專用于固件加載的一套API,在附錄 LDD3 一書中有關于內核支持固件加載機制的更詳細的介紹;
fs 這里按照設計是用于描述系統中所有文件系統,包括文件系統本身和按文件系統分類存放的已掛載點,但目前只有 fuse,gfs2 等少數文件系統支持 sysfs 接口,一些傳統的虛擬文件系統(VFS)層次控制參數仍然在 sysctl (/proc/sys/fs) 接口中中;
kernel 這里是內核所有可調整參數的位置,目前只有 uevent_helper, kexec_loaded, mm, 和新式的 slab 分配器等幾項較新的設計在使用它,其它內核可調整參數仍然位于 sysctl (/proc/sys/kernel) 接口中 ;
module 這里有系統中所有模塊的信息,不論這些模塊是以內聯(inlined)方式編譯到內核映像文件(vmlinuz)中還是編譯為外部模塊(ko文件),都可能會出現在?/sys/module?中:編譯為外部模塊(ko文件)在加載后會出現對應的/sys/module/<module_name>/, 并且在這個目錄下會出現一些屬性文件和屬性目錄來表示此外部模塊的一些信息,如版本號、加載狀態、所提供的驅動程序等;編譯為內聯方式的模塊則只在當它有非0屬性的模塊參數時會出現對應的 /sys/module/<module_name>, 這些模塊的可用參數會出現在?/sys/modules/<modname>/parameters/<param_name>?中,如 /sys/module/printk/parameters/time 這個可讀寫參數控制著內聯模塊 printk 在打印內核消息時是否加上時間前綴;所有內聯模塊的參數也可以由 "<module_name>.<param_name>=<value>" 的形式寫在內核啟動參數上,如啟動內核時加上參數 "printk.time=1" 與 向 "/sys/module/printk/parameters/time" 寫入1的效果相同;沒有非0屬性參數的內聯模塊不會出現于此。
power 這里是系統中電源選項,這個目錄下有幾個屬性文件可以用于控制整個機器的電源狀態,如可以向其中寫入控制命令讓機器關機、重啟等。
slab (對應 2.6.23 內核,在 2.6.24 以后移至 /sys/kernel/slab) 從2.6.23 開始可以選擇 SLAB 內存分配器的實現,并且新的 SLUB(Unqueued Slab Allocator)被設置為缺省值;如果編譯了此選項,在 /sys 下就會出現 /sys/slab ,里面有每一個 kmem_cache 結構體的可調整參數。對應于舊的 SLAB 內存分配器下的 /proc/slabinfo 動態調整接口,新式的 /sys/kernel/slab/<slab_name> 接口中的各項信息和可調整項顯得更為清晰。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。