sys目錄下各個子目錄的具體說明

2021-10-14 13:17:01 字數 1917 閱讀 8304

/sys下的子目錄

內容/sys/devices

該目錄下是全域性裝置結構體系,包含所有被發現的註冊在各種匯流排上的各種物理裝置。一般來說,所有的物理裝置都按其在匯流排上的拓撲結構來顯示,但有兩個例外,即platform devices和system devices。platform devices一般是掛在晶元內部的高速或者低速匯流排上的各種控制器和外設,它們能被cpu直接定址;system devices不是外設,而是晶元內部的核心結構,比如cpu,timer等,它們一般沒有相關的驅動,但是會有一些體系結構相關的**來配置它們。

(sys/devices是核心對系統中所有裝置的分層次表達模型,也是/sys檔案系統管理裝置的最重要的目錄結構)

sys/dev

該目錄下維護乙個按照字元裝置和塊裝置的主次號碼(major:minor)鏈結到真是裝置(/sys/devices)的符號鏈結檔案。

/sys/class

該目錄下包含所有註冊在kernel裡面的裝置型別,這是按照裝置功能分類的裝置模型,每個裝置型別表達具有一種功能的裝置。每個裝置型別子目錄下都是這種哦哦那個裝置型別的各種具體裝置的符號鏈結,這些鏈結指向/sys/devices/name下的具體裝置。裝置型別和裝置並沒有一一對應的關係,乙個物理裝置可能具備多種裝置型別;乙個裝置型別只表達具有一種功能的裝置,比如:系統所有輸入裝置都會出現在/sys/class/input之下,而不論它們是以何種匯流排連線到系統的。(/sys/class也是構成linux統一裝置模型的一部分)

/sys/block

該目錄下的所有子目錄代表著系統中當前被發現的所有塊裝置。按照功能來說防止在/sys/class下會更合適,但由於歷史遺留因素而一直存在於/sys/block,但從linux2.6.22核心開始這部分就已經標記為過去時,只有開啟了config_sysfs_deprecated配置編譯才會有這個目錄存在,並且其中的內容在從linux2.6.26版本開始已經正式移到了/sys/class/block,舊的介面/sys/block為了向後相容而保留存在,但其中的內容已經變為了指向它們在/sys/devices/中真實裝置的符號鏈結檔案。

/sys/bus

該目錄下的每個子目錄都是kernel支援並且已經註冊了的匯流排型別。這是核心裝置按照匯流排型別分層放置的目錄結構,/sys/devices中的所有裝置都是連線於某種匯流排之下的,bus子目錄下的每種具體匯流排之下可以找到每個具體裝置的符號鏈結,

一般來說每個子目錄(匯流排型別)下包含兩個子目錄,乙個是devices,另乙個是drivers;其中devices下是這個匯流排型別下的所有裝置,這些裝置都是符號鏈結,它們分別指向真正的裝置(/sys/devices/name/下);而drivers下是所有註冊在這個匯流排上的驅動,每個driver子目錄下 是一些可以觀察和修改的driver引數。

(它也是構成linux統一裝置模型的一部分)

/sys/fs

按照設計,該目錄使用來描述系統中所有的檔案系統,包括檔案系統本身和按照檔案系統分類存放的已掛載點。

/sys/kernel

這個目錄下存放的是核心中所有可調整的引數

/sys/firmware

該目錄下包含對韌體物件(firmware object)和屬性進行操作和觀察的介面,即這裡是系統載入韌體機制的對使用者空間的介面.(關於韌體有專用於韌體載入的一套api)

/sys/hypervisor

該目錄是與虛擬化xen相關的裝置。(xen是乙個開放源**的虛擬機器監視器)

/sys/module

該目錄下有系統中所有的模組資訊,不論這些模組是以內聯(inlined)方式編譯到核心映像檔案中還是編譯為外模組(.ko檔案),都可能出現在/sys/module中。即module目錄下包含了所有的被載入kernel的模組。

/sys/power

該目錄是系統中的電源選項,對正在使用的power子系統的描述。這個目錄下有幾個屬性檔案可以用於控制整個機器的電源狀態,如可以向其中寫入控制命令讓機器關機/重啟等等。

python建立子目錄並在子目錄下建立檔案

import os 首先判斷當前工作目錄下是否存在目錄machine learning ifnot os.path.isdir machine learning 不存在的話就建立子目錄machine learning 因為父目錄存在,所有這裡用mkdir也可以 os.makedirs machine...

合併子目錄下的檔案

比如在當前路徑下有這麼乙個檔案系統 0 mytest.en 1 mytest.en 2 mytest.en 3 mytest.en 4 mytest.en 5 mytest.en 6 mytest.en 7 mytest.en 8 mytest.en要把所有的mytest.en貼上到同乙個檔案內,可...

linux 根目錄下的子目錄的意義

bin 可執行程式,通常抱括系統工具 boot 系統啟動時用於初始化linux的檔案,比如linux核心 dev 鏈結到硬體資源的檔案 etc 配置檔案,特別是系統工具和網路服務 home 所有普通使用者的home目錄 lib 系統工具和核心所使用的系統庫 root 超級使用者目錄 sbin 僅由r...