Linux系統下proc目錄詳解

2021-07-05 03:28:58 字數 2220 閱讀 8445

1,、proc — 乙個虛擬檔案系統 

/proc 檔案系統是一種核心和核心模組用來向程序 (process) 傳送資訊的機制 (所以叫做 /proc)。這個偽檔案系統讓你可以和核心內部資料結構進行互動,獲取 有關程序的有用資訊,在執行中 (on the fly) 改變設定 (通過改變核心引數)。 與其他檔案系統不同,/proc 存在於記憶體之中而不是硬碟上。

2、/proc 由核心控制,沒有承載 /proc 的裝置。因為 /proc 主要存放由核心控制 的狀態資訊,所以大部分這些資訊的邏輯位置位於核心控制的記憶體。對 /proc 進行 一次 'ls -l' 可以看到大部分檔案都是 0 位元組大的;不過察看這些檔案的時候,確 實可以看到一些資訊。這怎麼可能?這是因為 /proc 檔案系統和其他常規的檔案系 統一樣把自己註冊到虛擬檔案系統層 (vfs) 了。然而,直到當 vfs 呼叫它,請求 檔案、目錄的 i-node 的時候,/proc 檔案系統才根據核心中的資訊建立相應的檔案 和目錄。 

注(inode 是 unix 作業系統中的一種資料結構,其本質是結構體,它包含了與檔案系統中各個檔案相關的一些重要資訊。在 unix 中建立檔案系統時,同時將會建立大量的 inode )

3、檢視/proc 的檔案 

/proc 的檔案可以用於訪問有關核心的狀態、計算機的屬性、正在執行的程序的 狀態等資訊。大部分 /proc 中的檔案和目錄提供系統物理環境最新的資訊。儘管 /proc 中的檔案是虛擬的,但它們仍可以使用任何檔案編輯器或像'more', 'less'或 'cat'這樣的程式來檢視。

4/proc 檔案系統可以被用於收集有用的關於系統和執行中的核心的資訊。下面是一些重要 的檔案:

/proc/cpuinfo - cpu 的資訊 (型號, 家族, 快取大小等) 

/proc/meminfo - 物理記憶體、交換空間等的資訊 

/proc/mounts - 已載入的檔案系統的列表 

/proc/devices - 可用裝置的列表 

/proc/filesystems - 被支援的檔案系統 

/proc/modules - 已載入的模組 

/proc/version - 核心版本 

/proc/cmdline - 系統啟動時輸入的核心命令列引數

4、有關執行中的程序的資訊 

/proc 檔案系統可以用於獲取執行中的程序的資訊。在 /proc 中有一些編號的子目錄。每個編號的目錄對應乙個程序 id (pid)。這樣,每乙個執行中的程序 /proc 中都有乙個用它的 pid 命名的目錄。這些子目錄中包含可以提供有關程序的狀態和環境的重要細節資訊的檔案。讓我們試著查詢乙個執行中的程序。

5、通過 /proc 與核心互動 

上面討論的大部分 /proc 的檔案是唯讀的。而實際上 /proc 檔案系統通過 /proc 中可讀寫的檔案提供了對核心的互動機制。寫這些檔案可以改變核心 的狀態,因而要慎重改動這些檔案。/proc/sys 目錄存放所有可讀寫的檔案 的目錄,可以被用於改變核心行為。 

/proc/sys/kernel - 這個目錄包含反通用核心行為的資訊。 /proc/sys/kernel/ 存放著機器/網路的網域名稱和主機名。 這些檔案可以用於修改這些名字。

$ hostname 

machinename.domainname.com 

$ cat /proc/sys/kernel/domainname 

domainname.com 

$ cat /proc/sys/kernel/hostname 

machinename 

$ echo 「new-machinename」 > /proc/sys/kernel/hostname 

$ hostname 

new-machinename.domainname.com 

這樣,通過修改 /proc 檔案系統中的檔案,我們可以修改主機名。很多其 他可配置的檔案存在於 /proc/sys/kernel/。 

另乙個可配置的目錄是 /proc/sys/net。這個目錄中的檔案可以 用於修改機器/網路的網路屬性。比如,簡單修改乙個檔案,你可以在網路 上癮藏匿的計算機。

$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 

這將在網路上癮藏你的機器,因為它不響應 icmp_echo。主機將不會響應其 他主機發出的 ping 查詢。要改回預設設定,只要 

$ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 

/proc/sys 下還有許多其它可以用於改變核心屬性。

Linux下proc檔案系統詳解 proc

proc檔案系統是乙個偽檔案系統,它只存在記憶體當中,而不占用外存空間。它以檔案系統的方式為訪問系統核心資料的操作提供介面。使用者和應用程式可以通過proc得到系統的資訊,並可以改變核心的某些引數。這裡將介紹如何從 proc檔案系統中獲取與防火牆相關的一些效能引數,以及如何通過 proc檔案系統修改...

linux下的 Proc 檔案系統

proc檔案系統是一種在使用者態檢查核心狀態的機制。在proc下一般有如下子目錄和檔案 apm 高階電源管理資訊 bus 匯流排以及匯流排上的裝置 devices 可用的裝置資訊 driver 已經啟用的驅動程式 interrupts 中斷資訊 ioports 埠使用資訊 version 核心版本 ...

Linux下proc檔案系統介紹與應用

1 核心專案太龐大,除錯困難,引入新的除錯方法。2 proc檔案系統的思路是 在核心中構建乙個虛擬檔案系統 proc,核心執行時將核心中一些關鍵的資料結構以檔案的方式呈現在 proc目錄下的一些特定檔案中,這樣相當於將不可見的核心中的資料結構以視覺化的方式呈現給核心開發者。3 proc檔案系統給了開...