午夜无码人妻aⅴ大片色欲张津瑜,国产69久久久欧美黑人A片,色妺妺视频网,久久久久国产综合AV天堂

如何理解Linux系統(tǒng)中的虛擬文件系統(tǒng)

這篇文章主要介紹“如何理解Linux系統(tǒng)中的虛擬文件系統(tǒng)”,在日常操作中,相信很多人在如何理解Linux系統(tǒng)中的虛擬文件系統(tǒng)問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何理解Linux系統(tǒng)中的虛擬文件系統(tǒng)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

瓜州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

Linux 內(nèi)核提供了一種通過(guò) /proc 文件系統(tǒng),在運(yùn)行時(shí)訪問(wèn)內(nèi)核內(nèi)部數(shù)據(jù)結(jié)構(gòu)、 改變內(nèi)核設(shè)置的機(jī)制。盡管在各種硬件平臺(tái)上的 Linux 系統(tǒng)的 /proc 文件系統(tǒng)的 基本概念都是相同的,但本文只討論基于 intel x86 架構(gòu)的 Linux /proc 文件系 統(tǒng)。

/proc --- 一個(gè)虛擬文件系統(tǒng)
/proc 文件系統(tǒng)是一種內(nèi)核和內(nèi)核模塊用來(lái)向進(jìn)程 (process) 發(fā)送信息的機(jī)制 (所以叫做 /proc)。這個(gè)偽文件系統(tǒng)讓你可以和內(nèi)核內(nèi)部數(shù)據(jù)結(jié)構(gòu)進(jìn)行交互,獲取 有關(guān)進(jìn)程的有用信息,在運(yùn)行中 (on the fly) 改變?cè)O(shè)置 (通過(guò)改變內(nèi)核參數(shù))。 與其他文件系統(tǒng)不同,/proc 存在于內(nèi)存之中而不是硬盤(pán)上。如果你察看文件 /proc/mounts (和 mount 命令一樣列出所有已經(jīng)加載的文件系統(tǒng)),你會(huì)看到其中 一行是這樣的:

代碼如下:


grep proc /proc/mounts
/proc /proc proc rw 0 0


/proc 由內(nèi)核控制,沒(méi)有承載 /proc 的設(shè)備。因?yàn)?/proc 主要存放由內(nèi)核控制 的狀態(tài)信息,所以大部分這些信息的邏輯位置位于內(nèi)核控制的內(nèi)存。對(duì) /proc 進(jìn)行 一次 'ls -l' 可以看到大部分文件都是 0 字節(jié)大的;不過(guò)察看這些文件的時(shí)候,確 實(shí)可以看到一些信息。這怎么可能?這是因?yàn)?/proc 文件系統(tǒng)和其他常規(guī)的文件系 統(tǒng)一樣把自己注冊(cè)到虛擬文件系統(tǒng)層 (VFS) 了。然而,直到當(dāng) VFS 調(diào)用它,請(qǐng)求 文件、目錄的 i-node 的時(shí)候,/proc 文件系統(tǒng)才根據(jù)內(nèi)核中的信息建立相應(yīng)的文件 和目錄。

 
加載 proc 文件系統(tǒng)
如果系統(tǒng)中還沒(méi)有加載 proc 文件系統(tǒng),可以通過(guò)如下命令加載 proc 文件系統(tǒng):

代碼如下:


mount -t proc proc /proc


上述命令將成功加載你的 proc 文件系統(tǒng)。更多細(xì)節(jié)請(qǐng)閱讀 mount 命令的 man page。
 

 
察看 /proc 的文件
/proc 的文件可以用于訪問(wèn)有關(guān)內(nèi)核的狀態(tài)、計(jì)算機(jī)的屬性、正在運(yùn)行的進(jìn)程的 狀態(tài)等信息。大部分 /proc 中的文件和目錄提供系統(tǒng)物理環(huán)境最新的信息。盡管 /proc 中的文件是虛擬的,但它們?nèi)钥梢允褂萌魏挝募庉嬈骰蛳?#39;more', 'less'或 'cat'這樣的程序來(lái)查看。當(dāng)編輯程序試圖打開(kāi)一個(gè)虛擬文件時(shí),這個(gè)文件就通過(guò)內(nèi)核 中的信息被憑空地 (on the fly) 創(chuàng)建了。這是一些我從我的系統(tǒng)中得到的一些有趣 結(jié)果:

代碼如下:


$ ls -l /proc/cpuinfo
-r--r--r-- 1 root root 0 Dec 25 11:01 /proc/cpuinfo
$ file /proc/cpuinfo
/proc/cpuinfo: empty
$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 6
cpu MHz         : 1000.119
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
sep_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 mmx fxsr xmm
bogomips        : 1998.85
processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 6
cpu MHz         : 1000.119
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
sep_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 mmx fxsr xmm
bogomips        : 1992.29

這是一個(gè)從雙 CPU 的系統(tǒng)中得到的結(jié)果,上述大部分的信息十分清楚地給出了這個(gè)系 統(tǒng)的有用的硬件信息。有些 /proc 的文件是經(jīng)過(guò)編碼的,不同的工具可以被用來(lái)解釋 這些編碼過(guò)的信息并輸出成可讀的形式。這樣的工具包括:'top', 'ps', 'apm' 等。
 

 
得到有用的系統(tǒng)/內(nèi)核信息

proc 文件系統(tǒng)可以被用于收集有用的關(guān)于系統(tǒng)和運(yùn)行中的內(nèi)核的信息。下面是一些重要 的文件:

/proc/cpuinfo - CPU 的信息 (型號(hào), 家族, 緩存大小等)
/proc/meminfo - 物理內(nèi)存、交換空間等的信息
/proc/mounts - 已加載的文件系統(tǒng)的列表
/proc/devices - 可用設(shè)備的列表
/proc/filesystems - 被支持的文件系統(tǒng)
/proc/modules - 已加載的模塊
/proc/version - 內(nèi)核版本
/proc/cmdline - 系統(tǒng)啟動(dòng)時(shí)輸入的內(nèi)核命令行參數(shù)
proc 中的文件遠(yuǎn)不止上面列出的這么多。想要進(jìn)一步了解的讀者可以對(duì) /proc 的每一個(gè) 文件都'more'一下或讀參考文獻(xiàn)[1]獲取更多的有關(guān) /proc 目錄中的文件的信息。我建議 使用'more'而不是'cat',除非你知道這個(gè)文件很小,因?yàn)橛行┪募?(比如 kcore) 可能 會(huì)非常長(zhǎng)。
 

 
有關(guān)運(yùn)行中的進(jìn)程的信息
/proc 文件系統(tǒng)可以用于獲取運(yùn)行中的進(jìn)程的信息。在 /proc 中有一些編號(hào)的子目錄。每個(gè)編號(hào)的目錄對(duì)應(yīng)一個(gè)進(jìn)程 id (PID)。這樣,每一個(gè)運(yùn)行中的進(jìn)程 /proc 中都有一個(gè)用它的 PID 命名的目錄。這些子目錄中包含可以提供有關(guān)進(jìn)程的狀態(tài)和環(huán)境的重要細(xì)節(jié)信息的文件。讓我們?cè)囍檎乙粋€(gè)運(yùn)行中的進(jìn)程。

代碼如下:


$ ps -aef | grep mozilla
root 32558 32425 8  22:53 pts/1  00:01:23  /usr/bin/mozilla


上述命令顯示有一個(gè)正在運(yùn)行的 mozilla 進(jìn)程的 PID 是 32558。相對(duì)應(yīng)的,/proc 中應(yīng)該有一個(gè)名叫 32558 的目錄

代碼如下:


$ ls -l /proc/32558
total 0
-r--r--r--    1 root  root            0 Dec 25 22:59 cmdline
-r--r--r--    1 root  root            0 Dec 25 22:59 cpu
lrwxrwxrwx    1 root  root            0 Dec 25 22:59 cwd -> /proc/
-r--------    1 root  root            0 Dec 25 22:59 environ
lrwxrwxrwx    1 root  root            0 Dec 25 22:59 exe -> /usr/bin/mozilla*
dr-x------    2 root  root            0 Dec 25 22:59 fd/
-r--r--r--    1 root  root            0 Dec 25 22:59 maps
-rw-------    1 root  root            0 Dec 25 22:59 mem
-r--r--r--    1 root  root            0 Dec 25 22:59 mounts
lrwxrwxrwx    1 root  root            0 Dec 25 22:59 root -> //
-r--r--r--    1 root  root            0 Dec 25 22:59 stat
-r--r--r--    1 root  root            0 Dec 25 22:59 statm
-r--r--r--    1 root  root            0 Dec 25 22:59 status


文件 "cmdline" 包含啟動(dòng)進(jìn)程時(shí)調(diào)用的命令行。"envir" 進(jìn)程的環(huán)境變兩。 "status" 是進(jìn)程的狀態(tài)信息,包括啟動(dòng)進(jìn)程的用戶的用戶ID (UID) 和組ID(GID) , 父進(jìn)程ID (PPID),還有進(jìn)程當(dāng)前的狀態(tài),比如"Sleelping"和"Running"。 每個(gè)進(jìn)程的目錄都有幾個(gè)符號(hào)鏈接,"cwd"是指向進(jìn)程當(dāng)前工作目錄的符號(hào) 鏈接,"exe"指向運(yùn)行的進(jìn)程的可執(zhí)行程序,"root"指向被這個(gè)進(jìn)程看作是 根目錄的目錄 (通常是"/")。目錄"fd"包含指向進(jìn)程使用的文件描述符的鏈接。 "cpu"僅在運(yùn)行 SMP 內(nèi)核時(shí)出現(xiàn),里面是按 CPU 劃分的進(jìn)程時(shí)間。
 

/proc/self 是一個(gè)有趣的子目錄,它使得程序可以方便地使用 /proc 查找本進(jìn)程地信息。/proc/self 是一個(gè)鏈接到 /proc 中訪問(wèn) /proc 的進(jìn)程所對(duì)應(yīng)的 PID 的目錄的符號(hào)鏈接。

 
通過(guò) /proc 與內(nèi)核交互

上面討論的大部分 /proc 的文件是只讀的。而實(shí)際上 /proc 文件系統(tǒng)通過(guò) /proc 中可讀寫(xiě)的文件提供了對(duì)內(nèi)核的交互機(jī)制。寫(xiě)這些文件可以改變內(nèi)核 的狀態(tài),因而要慎重改動(dòng)這些文件。/proc/sys 目錄存放所有可讀寫(xiě)的文件 的目錄,可以被用于改變內(nèi)核行為。

/proc/sys/kernel - 這個(gè)目錄包含反通用內(nèi)核行為的信息。 /proc/sys/kernel/{domainname, hostname} 存放著機(jī)器/網(wǎng)絡(luò)的域名和主機(jī)名。 這些文件可以用于修改這些名字。

代碼如下:


$ 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

這樣,通過(guò)修改 /proc 文件系統(tǒng)中的文件,我們可以修改主機(jī)名。很多其 他可配置的文件存在于 /proc/sys/kernel/。這里不可能列出所有這些文件, 讀者可以自己去這個(gè)目錄查看以得到更多細(xì)節(jié)信息。
另一個(gè)可配置的目錄是 /proc/sys/net。這個(gè)目錄中的文件可以 用于修改機(jī)器/網(wǎng)絡(luò)的網(wǎng)絡(luò)屬性。比如,簡(jiǎn)單修改一個(gè)文件,你可以在網(wǎng)絡(luò) 上癮藏匿的計(jì)算機(jī)。

代碼如下:


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


這將在網(wǎng)絡(luò)上癮藏你的機(jī)器,因?yàn)樗豁憫?yīng) icmp_echo。主機(jī)將不會(huì)響應(yīng)其 他主機(jī)發(fā)出的 ping 查詢。

代碼如下:


$ ping machinename.domainname.com
no answer from machinename.domainname.com


要改回缺省設(shè)置,只要

代碼如下:


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


/proc/sys 下還有許多其它可以用于改變內(nèi)核屬性。讀者可以通過(guò)參考文獻(xiàn) [1], [2] 獲取更多信息。

到此,關(guān)于“如何理解Linux系統(tǒng)中的虛擬文件系統(tǒng)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

當(dāng)前文章:如何理解Linux系統(tǒng)中的虛擬文件系統(tǒng)
網(wǎng)頁(yè)路徑:http://www.ekvhdxd.cn/article40/jieheo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、微信公眾號(hào)、網(wǎng)站導(dǎo)航、網(wǎng)站改版、用戶體驗(yàn)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司