proc檔案與 etc檔案

2021-10-03 11:22:34 字數 2409 閱讀 3332

/proc檔案系統的容量依系統而不同(硬體配置、體系結構),主要包含以下幾大類:

程序的特徵資料

記憶體管理

檔案系統

裝置驅動程式

系統匯流排

電源管理

終端系統控制引數

/proc的初衷就是來傳遞程序資料,因為linux下,一切皆是檔案,我們執行起來的程序也可以看成檔案

root@das:/$ ls /proc/1238/

attr cwd map_files oom_adj sessionid timers

autogroup environ maps oom_score setgroups timerslack_ns

auxv exe mem oom_score_adj smaps uid_map

cgroup fd mountinfo pagemap stack wchan

clear_refs fdinfo mounts personality stat

cmdline gid_map mountstats projid_map statm

comm io net root status

coredump_filter limits ns sched syscall

cpuset loginuid numa_maps schedstat task

這是程序pid號為1838的程序狀態資訊。具體資訊cat查詢即可。

environ:表示為該程式所設定的環境變數。

maps:列出了程序所使用的庫,有點長。。

status:包含了程序狀態一般資訊(text格式)

stat和statm:以一連串數字的形式提供程序記憶體消耗的資訊

fd:資料夾內有一連串數字檔案,表示檔案描述符,都是符號鏈結,鏈結到對應的檔案,這個就代表這個程序中開啟了哪些檔案。

cwd:是個符號鏈結,對應到程序工作目錄

exe:是個符號鏈結,對應到可執行二進位制檔案

root:指向當前程序根目錄

測試

我們這裡在開啟乙個程式來檢視其程序的資料

# 開啟乙個程式

nc -l localhost 8080

# 檢視其程序id

ps -ef|

grep nc

# 開啟程序對應的資料夾,這裡的2380是我查詢到的程序id

fd資料夾:程序開啟的所有檔案的描述符我們隨便開啟fd這個資料夾檢視當前程序開啟了哪些檔案

前三個依次是標準輸入,標準輸出,錯誤輸出。

第三個是乙個socket檔案,因為我們開啟的是乙個伺服器程式,監聽8080埠,所以這裡會有對應的socket檔案,這又再次看出來了linux下一切皆是檔案,每乙個socket連線,也是乙個檔案

task資料夾:當前程序開啟的所有執行緒的資訊

/etc目錄

包含很多檔案.許多網路配置檔案也在/etc 中。也可以將我們自己安裝的一些軟體的配置檔案放置到該資料夾下面

/etc/rc or/etc/rc.d or/etc/rc.d*

啟動、或改變執行級時執行的scripts或scripts的目錄.

/etc/passwd

使用者資料庫,其中的域給出了使用者名稱、真實姓名、家目錄、加密的口令和使用者的其他資訊.

/etc/group

類似/etc/passwd ,但說明的不是使用者而是組

/etc/inittab

init 的配置檔案.

/etc/login.defs

login 命令的配置檔案.

/etc/profile

啟動shell的時候要執行的初始化指令碼

Proc檔案系統

include static struct proc dir entry proc null int read proc char page,char start,off t off,int count,int eof,void data len sprintf page len,debug mod...

proc檔案系統

linux 將一切事物都看成檔案,硬體裝置在檔案系統中也有相應的條目。我們使用底層系統呼叫這樣一種特殊方式通過 dev目錄中的檔案來訪問硬體。控制硬體的軟體驅動程式通常可以以某種特定方式配置,或者能夠報告相關資訊。用於與裝置驅動程式進行通訊的工具在過去就已經十分常見,近來年,傾向於提供更一致的方式來...

proc檔案系統

proc檔案系統是由核心實現的檔案系統。當使用者態訪問 proc下檔案時,實際上是呼叫核心中和該檔案對應的特定函式。一般用proc檔案來實現核心 驅動的呼叫。大部分proc檔案是唯讀的,用於獲取核心資訊 還有一些proc檔案是可寫的,當使用者態改變了proc檔案的內容時,會呼叫核心的函式,從而改變核...