日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux /dev目录详解

發布時間:2025/3/15 linux 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux /dev目录详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


    在linux下,/dev目錄是很重要的,各種設備都在下面。下面簡單總結一下:

  dev是設備(device)的英文縮寫。/dev這個目錄對所有的用戶都十分重要。因為在這個目錄中包含了所有Linux系統中使用的外部設備。但是這里并不是放的外部設備的驅動程序,這一點和windows,dos操作系統不一樣。它實際上是一個訪問這些外部設備的端口我們可以非常方便地去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。

  Linux沿襲Unix的風格,將所有設備認成是一個文件。

  關于一些特殊設備,我曾經總結過一些:

  /dev/null和/dev/zero:http://www.51testing.com/index.php?uid-225738-action-viewspace-itemid-235339

  /dev/tty、/dev/console、/dev/pty、/dev/pts等:http://www.51testing.com/index.php?uid-225738-action-viewspace-itemid-212419

  設備文件分為兩種塊設備文件(b)字符設備文件(c)

  設備文件一般存放在/dev目錄下,對常見設備文件作如下說明:

  /dev/hd[a-t]:IDE設備

  /dev/sd[a-z]:SCSI設備

  /dev/fd[0-7]:標準軟驅

  /dev/md[0-31]:軟raid設備

  /dev/loop[0-7]:本地回環設備

  /dev/ram[0-15]:內存

  /dev/null:無限數據接收設備,相當于黑洞

  /dev/zero:無限零資源

  /dev/tty[0-63]:虛擬終端

  /dev/ttyS[0-3]:串口

  /dev/lp[0-3]:并口

  /dev/console:控制臺

  /dev/fb[0-31]:framebuffer

  /dev/cdrom => /dev/hdc

  /dev/modem => /dev/ttyS[0-9]

  /dev/pilot => /dev/ttyS[0-9]

  /dev/random:隨機數設備

  /dev/urandom:隨機數設備

  (PS:隨機數設備,后面我會再寫篇博客總結一下)

  /dev目錄下的節點是怎么創建的?

  devf或者udev會自動幫你創建得。

  kobject是sysfs文件系統的基礎,udev通過監測、檢測sysfs來獲取新創建的設備的。

?

Linux系統各個目錄的作用

 /

  這就是根目錄。對你的電腦來說,有且只有一個根目錄。所有的東西,我是說所有的東西都是從這里開始。舉個例子:當你在終端里輸入“/home”,你其實是在告訴電腦,先從/(根目錄)開始,再進入到home目錄。

/root

  這是系統管理員(root user)的目錄。對于系統來說,系統管理員就好比是上帝,它能對系統做任何事情,甚至包括刪除你的文件。因此,請小心使用root帳號。

/bin

  這里存放了標準的(或者說是缺省的)linux的工具,比如像“ls”、“vi”還有“more”等等。通常來說,這個目錄已經包含在你的“path”系統變量里面了。什么意思呢?就是:當你在終端里輸入ls,系統就會去/bin目錄下面查找是不是有ls這個程序。

/etc

  這里主要存放了系統配置方面的文件。舉個例子:你安裝了samba這個套件,當你想要修改samba配置文件的時候,你會發現它們(配置文件)就在/etc/samba目錄下。

/dev

  這里主要存放與設備(包括外設)有關的文件(unix和linux系統均把設備當成文件)。想連線打印機嗎?系統就是從這個目錄開始工作的。另外還有一些包括磁盤驅動、USB驅動等都放在這個目錄。

/home

  這里主要存放你的個人數據。具體每個用戶的設置文件,用戶的桌面文件夾,還有用戶的數據都放在這里。每個用戶都有自己的用戶目錄,位置為:/home/用戶名。當然,root用戶除外。

/tmp

  這是臨時目錄。對于某些程序來說,有些文件被用了一次兩次之后,就不會再被用到,像這樣的文件就放在這里。有些linux系統會定期自動對這個目錄進行清理,因此,千萬不要把重要的數據放在這里。


/usr

  在這個目錄下,你可以找到那些不適合放在/bin或/etc目錄下的額外的工具。比如像游戲阿,一些打印工具拉等等。/usr目錄包含了許多子目錄:/usr/bin目錄用于存放程序;/usr/share用于存放一些共享的數據,比如音樂文件或者圖標等等;/usr/lib目錄用于存放那些不能直接運行的,但卻是許多程序運行所必需的一些函數庫文件。你的軟件包管理器(應該是“新立得”吧)會自動幫你管理好/usr目錄的。

/opt

  這里主要存放那些可選的程序。你想嘗試最新的firefox測試版嗎?那就裝到/opt目錄下吧,這樣,當你嘗試完,想刪掉firefox的時候,你就可以直接刪除它,而不影響系統其他任何設置。安裝到/opt目錄下的程序,它所有的數據、庫文件等等都是放在同個目錄下面。

  舉個例子:剛才裝的測試版firefox,就可以裝到/opt/firefox_beta目錄下,/opt/firefox_beta目錄下面就包含了運行firefox所需要的所有文件、庫、數據等等。要刪除firefox的時候,你只需刪除/opt/firefox_beta目錄即可,非常簡單。

/usr/local

  這里主要存放那些手動安裝的軟件,即不是通過“新立得”或apt-get安裝的軟件。它和/usr目錄具有相類似的目錄結構。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面,我想這應該是個不錯的主意。

 /media

  有些linux的發行版使用這個目錄來掛載那些usb接口的移動硬盤(包括U盤)、CD/DVD驅動器等等。

?

Linux中/proc目錄下文件詳解(一)


--------------------------------------------------------------------------------

/proc文件系統下的多種文件提供的系統信息不是針對某個特定進程的,而是能夠在整個系統范圍的上下文中使用。可以使用的文件隨系統配置的變化而變化。命令procinfo能夠顯示基于其中某些文件的多種系統信息。以下詳細描述/proc下的文件。?


--------------------------------------------------------------------------------


/proc/cmdline文件

這個文件給出了內核啟動的命令行。它和用于進程的cmdline項非常相似。

示例:?

[root@localhost proc]# cat cmdline

ro root=LABEL=/ rhgb quiet



--------------------------------------------------------------------------------


/proc/cpuinfo文件

這個文件提供了有關系統CPU的多種信息。這些信息是從內核里對CPU的測試代碼中得到的。文件列出了CPU的普通型號(386,486,586,686等),以及能得到的更多特定信息(制造商,型號和版本)。文件還包含了以bogomips表示的處理器速度,而且如果檢測到CPU的多種特性或者bug,文件還會包含相應的標志。這個文件的格式為:文件由多行構成,每行包括一個域名稱,一個冒號和一個值。

示例:?

[root@localhost proc]# cat cpuinfo

processor : 0

vendor_id : AuthenticAMD

cpu family : 6

model : 8

model name : AMD Athlon(tm) XP 1800+

stepping : 1

cpu MHz : 1530.165

cache size : 256 KB

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 1

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow

bogomips : 2998.27



--------------------------------------------------------------------------------


/proc/devices文件

這個文件列出字符和塊設備的主設備號,以及分配到這些設備號的設備名稱

示例:?

[root@localhost /]# cat /proc/devices

Character devices:

1 mem

4 /dev/vc/0

4 tty

4 ttyS

5 /dev/tty

5 /dev/console

5 /dev/ptmx

6 lp

7 vcs

10 misc

13 input

14 sound

29 fb

36 netlink

116 alsa

128 ptm

136 pts

180 usb




Block devices:

1 ramdisk

2 fd

3 ide0

9 md

22 ide1

253 device-mapper

254 mdp?


--------------------------------------------------------------------------------


/proc/dma文件?

這個文件列出由驅動程序保留的DMA通道和保留它們的驅動程序名稱。casade項供用于把次DMA控制器從主控制器分出的DMA行所使用;這一行不能用于其它用途。

示例:


[root@localhost ~]# cat /proc/dma

4: cascade



--------------------------------------------------------------------------------


/proc/filesystems文件


這個文件列出可供使用的文件系統類型,一種類型一行。雖然它們通常是編入內核的文件系統類型,但該文件還可以包含可加載的內核模塊加入的其它文件系統類型。

示例:

[root@localhost proc]# cat /proc/filesystems?

nodev sysfs

nodev rootfs

nodev bdev

nodev proc

nodev sockfs

nodev binfmt_misc

nodev usbfs

nodev usbdevfs

nodev futexfs

nodev tmpfs

nodev pipefs

nodev eventpollfs

nodev devpts

ext2

nodev ramfs

nodev hugetlbfs

iso9660

nodev mqueue

nodev selinuxfs

ext3

nodev rpc_pipefs

nodev autofs?


--------------------------------------------------------------------------------


/proc/interrupts文件

這個文件的每一行都有一個保留的中斷。每行中的域有:中斷號,本行中斷的發生次數,可能帶有一個加號的域(SA_INTERRUPT標志設置),以及登記這個中斷的驅動程序的名字。可以在安裝新硬件前,像查看/proc/dma和/proc/ioports一樣用cat命令手工查看手頭的這個文件。這幾個文件列出了當前投入使用的資源(但是不包括那些沒有加載驅動程序的硬件所使用的資源)。

示例:

[root@localhost SPECS]# cat /proc/interrupts

CPU0

0: 7039406 XT-PIC timer

1: 6533 XT-PIC i8042

2: 0 XT-PIC cascade

3: 0 XT-PIC uhci_hcd

5: 108 XT-PIC VIA8233, uhci_hcd

8: 1 XT-PIC rtc

9: 0 XT-PIC acpi

10: 0 XT-PIC ehci_hcd

11: 17412 XT-PIC uhci_hcd, eth0

12: 140314 XT-PIC i8042

14: 37897 XT-PIC ide0

15: 60813 XT-PIC ide1

NMI: 0

ERR: 1?


--------------------------------------------------------------------------------


/proc/ioports文件


這個文件列出了諸如磁盤驅動器,以太網卡和聲卡設備等多種設備驅動程序登記的許多I/O端口范圍。

示例:

[root@localhost SPECS]# cat /proc/ioports

0000-001f : dma1

0020-0021 : pic1

0040-0043 : timer0

0050-0053 : timer1

0060-006f : keyboard

0070-0077 : rtc

0080-008f : dma page reg

00a0-00a1 : pic2

00c0-00df : dma2

00f0-00ff : fpu

0170-0177 : ide1

01f0-01f7 : ide0

0376-0376 : ide1

0378-037a : parport0

037b-037f : parport0

03c0-03df : vga+

03f6-03f6 : ide0

03f8-03ff : serial

0800-0803 : PM1a_EVT_BLK

0804-0805 : PM1a_CNT_BLK

0808-080b : PM_TMR

0810-0815 : ACPI CPU throttle

0820-0823 : GPE0_BLK

0cf8-0cff : PCI conf1

dc00-dcff : 0000:00:12.0

dc00-dcff : via-rhine

e000-e0ff : 0000:00:11.5

e000-e0ff : VIA8233

e400-e41f : 0000:00:10.0

e400-e41f : uhci_hcd

e800-e81f : 0000:00:10.1

e800-e81f : uhci_hcd

ec00-ec1f : 0000:00:10.2

ec00-ec1f : uhci_hcd

fc00-fc0f : 0000:00:11.1

fc00-fc07 : ide0

fc08-fc0f : ide1?


--------------------------------------------------------------------------------


/proc/kcore文件

這個文件是系統的物理內存以core文件格式保存的文件。例如,GDB能用它考察內核的數據結構。它不是純文本,而是/proc目錄下為數不多的幾個二進制格式的項之一。

示例:

暫無?


--------------------------------------------------------------------------------


/proc/kmsg文件

這個文件用于檢索用printk生成的內核消息。任何時刻只能有一個具有超級用戶權限的進程可以讀取這個文件。也可以用系統調用syslog檢索這些消息。通常使用工具dmesg或守護進程klogd檢索這些消息。

示例:

暫無?


--------------------------------------------------------------------------------


/proc/ksyms文件

這個文件列出了已經登記的內核符號;這些符號給出了變量或函數的地址。每行給出一個符號的地址,符號名稱以及登記這個符號的模塊。程序ksyms,insmod和kmod使用這個文件。它還列出了正在運行的任務數,總任務數和最后分配的PID。

示例:

暫無?


--------------------------------------------------------------------------------


/proc/loadavg文件

這個文件給出以幾個不同的時間間隔計算的系統平均負載,這就如同uptime命令顯示的結果那樣。前三個數字是平均負載。這是通過計算過去1分鐘,5分鐘,15分鐘里運行隊列中的平均任務數得到的。隨后是正在運行的任務數和總任務數。最后是上次使用的進程號。

示例:

[root@localhost ~]# cat /proc/loadavg

0.11 0.16 0.14 3/126 3912?


--------------------------------------------------------------------------------


/proc/locks文件

這個文件包含在打開的文件上的加鎖信息。文件中的每一行描述了特定文件和文檔上的加鎖信息以及對文件施加的鎖的類型。內核也可以需要時對文件施加強制性鎖。

示例:

[root@localhost redhat]# cat /proc/locks

1: POSIX ADVISORY READ 3822 03:0a:1067117 0 EOF

2: POSIX ADVISORY READ 3822 03:0a:1067138 0 EOF

3: POSIX ADVISORY WRITE 3326 03:0a:2326540 0 EOF

4: POSIX ADVISORY WRITE 2639 03:0a:2966595 0 EOF

5: FLOCK ADVISORY WRITE 2591 03:0a:2966586 0 EOF

6: POSIX ADVISORY WRITE 2540 03:0a:2966578 0 EOF

7: POSIX ADVISORY WRITE 2530 03:0a:2966579 0 EOF

8: POSIX ADVISORY WRITE 2402 03:0a:2966563 0 EOF

9: POSIX ADVISORY WRITE 2371 03:0a:2966561 0 EOF?


proc/mdstat文件

這個文件包含了由md設備驅動程序控制的RAID設備信息。

示例:

[root@localhost ~]# cat /proc/mdstat
Personalities :
unused devices: <none>



--------------------------------------------------------------------------------


/proc/meminfo文件

個文件給出了內存狀態的信息。它顯示出系統中空閑內存,已用物理內存和交換內存的總量。它還顯示出內核使用的共享內存和緩沖區總量。這些信息的格式和free命令顯示的結果類似。

示例:

[root@localhost ~]# cat /proc/meminfo
MemTotal: ?? 223812 kB
MemFree: ?? ?? 3764 kB
Buffers: ?? ?? 9148 kB
Cached: ?? ?? 92112 kB
SwapCached: ?? ??? 364 kB
Active: ?? ?? 183640 kB
Inactive: ?? ??? 17196 kB
HighTotal: ?? ?? ??? 0 kB
HighFree: ?? ?? ?? 0 kB
LowTotal: ?? 223812 kB
LowFree: ?? ?? 3764 kB
SwapTotal: ?? 626524 kB
SwapFree: ?? 620328 kB
Dirty: ?? ?? ?? ??? 12 kB
Writeback: ?? ?? ??? 0 kB
Mapped: ?? ?? 142880 kB
Slab: ?? ?? ?? 12668 kB
Committed_AS: 376732 kB
PageTables: ?? 2336 kB
VmallocTotal:?? 3907576 kB
VmallocUsed: ?? 2968 kB
VmallocChunk:?? 3904224 kB
HugePages_Total: ??? 0
HugePages_Free: ?? 0
Hugepagesize: ??? 4096 kB



--------------------------------------------------------------------------------


/proc/misc文件

這個文件報告用內核函數misc_register登記的設備驅動程序。


示例:

[root@localhost ~]# cat /proc/misc
63 device-mapper
175 agpgart
135 rtc?


--------------------------------------------------------------------------------


/proc/modules文件

這個文件給出可加載內核模塊的信息。lsmod程序用這些信息顯示有關模塊的名稱,大小,使用數目方面的信息。

示例:

[root@localhost /]# cat /proc/modules
md5 4033 1 - Live 0x10a7f000
ipv6 232577 8 - Live 0x10b0c000
parport_pc 24705 1 - Live 0x10a8b000
lp 11565 0 - Live 0x10a7b000
parport 41737 2 parport_pc,lp, Live 0x10a55000
autofs4 24005 0 - Live 0x10a74000
i2c_dev 10433 0 - Live 0x109d2000
i2c_core 22081 1 i2c_dev, Live 0x10a6d000
sunrpc 160421 1 - Live 0x10a9d000
ipt_REJECT 6465 1 - Live 0x109da000
ipt_state 1857 5 - Live 0x109eb000
ip_conntrack 40693 1 ipt_state, Live 0x10a62000
iptable_filter 2753 1 - Live 0x10896000
ip_tables 16193 3 ipt_REJECT,ipt_state,iptable_filter, Live 0x109ed000
dm_mod 54741 0 - Live 0x109f8000
button 6481 0 - Live 0x10905000
battery 8517 0 - Live 0x109d6000
ac 4805 0 - Live 0x10908000
uhci_hcd 31449 0 - Live 0x109dd000
ehci_hcd 31557 0 - Live 0x10949000
snd_via82xx 27237 2 - Live 0x10953000
snd_ac97_codec 64401 1 snd_via82xx, Live 0x10912000
snd_pcm_oss 47609 0 - Live 0x1093c000
snd_mixer_oss 17217 2 snd_pcm_oss, Live 0x1090c000
snd_pcm 97993 2 snd_via82xx,snd_pcm_oss, Live 0x10923000
snd_timer 29765 1 snd_pcm, Live 0x108ec000
snd_page_alloc 9673 2 snd_via82xx,snd_pcm, Live 0x108bd000
gameport 4801 1 snd_via82xx, Live 0x108a6000
snd_mpu401_uart 8769 1 snd_via82xx, Live 0x108b9000
snd_rawmidi 26725 1 snd_mpu401_uart, Live 0x108e4000
snd_seq_device 8137 1 snd_rawmidi, Live 0x1083b000
snd 54053 11 snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device, Live 0x108f6000
soundcore 9889 2 snd, Live 0x1089b000
via_rhine 23497 0 - Live 0x1089f000
mii 4673 1 via_rhine, Live 0x10893000
floppy 58609 0 - Live 0x108a9000
ext3 116809 1 - Live 0x10875000
jbd 74969 1 ext3, Live 0x10861000


lsmod命令顯示結果如下:

[root@localhost /]# lsmod
Module ?? ?? ?? ?? ?? Size?? Used by
md5 ?? ?? ?? ?? ?? ?? 4033?? 1
ipv6 ?? ?? ?? ?? ?? 232577?? 8
parport_pc ?? ?? ?? 24705?? 1
lp ?? ?? ?? ?? ?? ?? 11565?? 0
parport ?? ?? ?? ?? 41737?? 2 parport_pc,lp
autofs4 ?? ?? ?? ?? 24005?? 0
i2c_dev ?? ?? ?? ?? 10433?? 0
i2c_core ?? ?? ?? ?? 22081?? 1 i2c_dev
sunrpc ?? ?? ?? ?? 160421?? 1
ipt_REJECT ?? ?? ?? ??? 6465?? 1
ipt_state ?? ?? ?? ?? 1857?? 5
ip_conntrack ?? ?? ??? 40693?? 1 ipt_state
iptable_filter ?? ?? 2753?? 1
ip_tables ?? ?? ?? ??? 16193?? 3 ipt_REJECT,ipt_state,iptable_filter
dm_mod ?? ?? ?? ?? ??? 54741?? 0
button ?? ?? ?? ?? ?? 6481?? 0
battery ?? ?? ?? ?? ??? 8517?? 0
ac ?? ?? ?? ?? ?? ?? 4805?? 0
uhci_hcd ?? ?? ?? ?? 31449?? 0
ehci_hcd ?? ?? ?? ?? 31557?? 0
snd_via82xx ?? ?? ?? 27237?? 2
snd_ac97_codec ?? ?? 64401?? 1 snd_via82xx
snd_pcm_oss ?? ?? ?? 47609?? 0
snd_mixer_oss ?? ?? 17217?? 2 snd_pcm_oss
snd_pcm ?? ?? ?? ?? 97993?? 2 snd_via82xx,snd_pcm_oss
snd_timer ?? ?? ?? ??? 29765?? 1 snd_pcm
snd_page_alloc ?? ?? 9673?? 2 snd_via82xx,snd_pcm
gameport ?? ?? ?? ?? 4801?? 1 snd_via82xx
snd_mpu401_uart ?? ?? 8769?? 1 snd_via82xx
snd_rawmidi ?? ?? ?? 26725?? 1 snd_mpu401_uart
snd_seq_device ?? ?? 8137?? 1 snd_rawmidi
snd ?? ?? ?? ?? ?? ??? 54053?? 11 snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device
soundcore ?? ?? ?? ?? 9889?? 2 snd
via_rhine ?? ?? ?? ??? 23497?? 0
mii ?? ?? ?? ?? ?? ?? 4673?? 1 via_rhine
floppy ?? ?? ?? ?? ??? 58609?? 0
ext3 ?? ?? ?? ?? ?? 116809?? 1
jbd ?? ?? ?? ?? ?? ??? 74969?? 1 ext3?


--------------------------------------------------------------------------------


/proc/mounts文件

這個文件以/etc/mtab文件的格式給出當前系統所安裝的文件系統信息。這個文件也能反映出任何手工安裝從而在/etc/mtab文件中沒有包含的文件系統。

示例:

[root@localhost /]# cat /proc/mounts
rootfs / rootfs rw 0 0
/proc /proc proc rw,nodiratime 0 0
none /dev tmpfs rw 0 0
/dev/root / ext3 rw 0 0
none /dev tmpfs rw 0 0
none /selinux selinuxfs rw 0 0
/proc /proc proc rw,nodiratime 0 0
/proc/bus/usb /proc/bus/usb usbfs rw 0 0
/sys /sys sysfs rw 0 0
none /dev/pts devpts rw 0 0
none /dev/shm tmpfs rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0?


--------------------------------------------------------------------------------


/proc/pci文件

這個文件給出PCI設備的信息。用它可以方便地診斷PCI問題。你可以從這個文件中檢索到的信息包括諸如IDE接口或USB控制器這樣的設備,總線,設備和功能編號,設備延遲以及IRQ編號。

示例:

[root@localhost /]# cat /proc/pci
PCI devices found:
?? Bus?? 0, device 0, function?? 0:
Class 0600: PCI device 1106:3116 (rev 0).
?? Master Capable.?? Latency=8.
?? Prefetchable 32 bit memory at 0xe0000000 [0xe7ffffff].
?? Bus?? 0, device 1, function?? 0:
Class 0604: PCI device 1106:b091 (rev 0).
?? Master Capable.?? No bursts.?? Min Gnt=12.
?? Bus?? 0, device?? 16, function?? 2:
Class 0c03: PCI device 1106:3038 (rev 12.
?? IRQ 5.
?? Master Capable.?? Latency=32.
?? I/O at 0xec00 [0xec1f].
?? Bus?? 0, device?? 16, function?? 1:
Class 0c03: PCI device 1106:3038 (rev 12.
?? IRQ 3.
?? Master Capable.?? Latency=32.
?? I/O at 0xe800 [0xe81f].
?? Bus?? 0, device?? 16, function?? 0:
Class 0c03: PCI device 1106:3038 (rev 12.


?? IRQ 11.
?? Master Capable.?? Latency=32.
?? I/O at 0xe400 [0xe41f].
?? Bus?? 0, device?? 16, function?? 3:
Class 0c03: PCI device 1106:3104 (rev 130).
?? IRQ 10.
?? Master Capable.?? Latency=32.
?? Non-prefetchable 32 bit memory at 0xdfffff00 [0xdfffffff].
?? Bus?? 0, device?? 17, function?? 0:
Class 0601: PCI device 1106:3177 (rev 0).
?? Bus?? 0, device?? 17, function?? 1:
Class 0101: PCI device 1106:0571 (rev 6).
?? IRQ 255.
?? Master Capable.?? Latency=32.
?? I/O at 0xfc00 [0xfc0f].
?? Bus?? 0, device?? 17, function?? 5:
Class 0401: PCI device 1106:3059 (rev 80).
?? IRQ 5.
?? I/O at 0xe000 [0xe0ff].
?? Bus?? 0, device?? 18, function?? 0:
Class 0200: PCI device 1106:3065 (rev 116).
?? IRQ 11.
?? Master Capable.?? Latency=32.?? Min Gnt=3.Max Lat=8.
?? I/O at 0xdc00 [0xdcff].
?? Non-prefetchable 32 bit memory at 0xdffffe00 [0xdffffeff].
?? Bus?? 1, device 0, function?? 0:
Class 0300: PCI device 5333:8d04 (rev 0).
?? IRQ 11.
?? Master Capable.?? Latency=32.?? Min Gnt=4.Max Lat=255.
?? Non-prefetchable 32 bit memory at 0xdfe80000 [0xdfefffff].
?? Prefetchable 32 bit memory at 0xd0000000 [0xd7ffffff].?


--------------------------------------------------------------------------------

/proc/stat文件?

這個文件包含的信息有CPU利用率,磁盤,內存頁,內存對換,全部中斷,接觸開關以及賞賜自舉時間(自1970年1月1日起的秒數)。

示例:

[root@localhost /]# cat /proc/stat
cpu?? 31994 3898 7161 381600 15254 451 0
cpu0 31994 3898 7161 381600 15254 451 0
intr 4615930 4404290 3364 0 0 12 0 7 0 2 0 0 12618 112114 0 44142 39381
ctxt 1310498
btime 1148891913
processes 4249
procs_running 4
procs_blocked 0?


--------------------------------------------------------------------------------


/proc/uptime文件


這個文件給出自從上次系統自舉以來的秒數,以及其中有多少秒處于空閑。這主要供uptime程序使用。比較這兩個數字能夠告訴你長期來看CPU周期浪費的比例。

示例:

[root@localhost /]# cat /proc/uptime
4477.04 4021.10?


--------------------------------------------------------------------------------


/proc/version文件

這個文件只有一行內容,說明正在運行的內核版本。可以用標準的編程方法進行分析獲得所需的系統信息。

示例:


[root@localhost /]# cat /proc/version
Linux version 2.6.9-1.667 (bhcompile@tweety.build.redhat.com) (gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)) #1 Tue Nov 2 14:41:25 EST 2004


proc/net子目錄

此目錄下的文件描述或修改了聯網代碼的行為。可以通過使用arp,netstat,route和ipfwadm命令設置或查詢這些特殊文件中的許多文件。

示例:
[root@localhost /]# ls /proc/net
anycast6 ?? ip_conntrack ?? ?? mcfilter6?? rt6_stats ??? tcp
arp ?? ?? ?? ip_conntrack_expect?? netlink rt_acct ?? tcp6
dev ?? ?? ?? ip_mr_cache ?? ?? netstat rt_cache ?? udp
dev_mcast ?? ip_mr_vif ?? ?? ?? packet ??? snmp ?? ?? udp6
dev_snmp6 ?? ip_tables_matches psched ??? snmp6 ?? ?? unix
if_inet6 ?? ip_tables_names ?? raw ?? ??? sockstat ?? wireless
igmp ?? ?? ??? ip_tables_targets raw6 ?? sockstat6
igmp6 ?? ?? ipv6_route ?? ?? ??? route ?? softnet_stat
ip6_flowlabel?? mcfilter ?? ?? ?? rpc ?? ??? stat?
--------------------------------------------------------------------------------


以下摘要介紹此目錄下文件的功能:

arp
轉儲每個網絡接口的arp表中dev包的統計

dev
來自網絡設備的統計

dev_mcast
列出二層(數據鏈路層)多播組

igmp
加入的IGMP多播組

netlink
netlink套接口的信息

netstat
網絡流量的多種統計。第一行是信息頭,帶有每個變量的名稱。接下來的一行保存相應變量的值

raw
原始套接口的套接口表

route
靜態路由表

rpc
包含RPC信息的目錄

rt_cache
路由緩沖

snmp
snmp agent的ip/icmp/tcp/udp協議統計;各行交替給出字段名和值

sockstat
列出使用的tcp/udp/raw/pac/syc_cookies的數量

tcp
TCP連接的套接口

udp
UDP連接的套接口表

unix
UNIX域套接口的套接口表?
--------------------------------------------------------------------------------


示例:[root@localhost /]# cat /proc/net/route
Iface Destination ??? Gateway ?? ?? Flags RefCnt?? Use ??? Metric?? Mask MTU ?? Window?? IRTT
eth0 0035C2DA ?? ??? 00000000 ?? ??? 0001 0 ?? 0 ?? 0 ?? 80FFFFF0
eth0 0000FEA9 ?? ??? 00000000 ?? ??? 0001 0 ?? 0 ?? 0 ?? 0000FFF0
eth0 00000000 ?? ??? 0135C2DA ?? ??? 0003 0 ?? 0 ?? 0 ?? 00000000?
--------------------------------------------------------------------------------


[root@localhost /]# cat /proc/net/tcp
?? sl?? local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid?? timeout inode
0: 00000000:8000 00000000:0000 0A 00000000:00000000 00:00000000 00000000 29 ?? ??? 0 9525 1 0dde7500 3000 0 0 2 -1
1: 00000000:006F 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 ?? ??? 0 9484 1 0dde79e0 3000 0 0 2 -1
2: 0100007F:0277 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 ?? ??? 0 10049 1 0a8e3a00 3000 0 0 2 -1
3: 0100007F:14D7 00000000:0000 0A 00000000:00000000 00:00000000 00000000 99 ?? ??? 0 9847 1 0dde7020 3000 0 0 2 -1
4: 0100007F:0019 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 ?? ??? 0 10286 1 0a8e3520 3000 0 0 2 -1?
--------------------------------------------------------------------------------
[root@localhost /]# cat /proc/net/arp
IP address ?? HW type ??? Flags ?? HW address ?? ?? ?? Mask ??? Device
218.194.53.1 ??? 0x1 ?? ?? 0x2 ?? ?? 00:0D:BC:78:07:3F ??? * ?? ??? eth0?
--------------------------------------------------------------------------------
[root@localhost /]# cat /proc/net/udp
?? sl?? local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid?? timeout inode
0: 00000000:8000 00000000:0000 07 00000000:00000000 00:00000000 00000000 29 ?? ??? 0 9520 2 0b4ef7c0
105: 00000000:14E9 00000000:0000 07 00000000:00000000 00:00000000 00000000 99 ?? ??? 0 10284 2 0b4ef040
111: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 ?? ??? 0 9483 2 0b4efcc0
116: 00000000:02F4 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 ?? ??? 0 9511 2 0b4efa40
119: 00000000:0277 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 ?? ??? 0 10050 2 0b4ef2c0

--------------------------------------------------------------------------------


/proc/scsi子目錄

此目錄下包含一個列出了所有檢測到的SCSI設備的文件,并且為每種控制器驅動程序提供一個目錄,在這個目錄下又為已安裝的此種控制器的每個實例提供一個子目錄。

示例:
由于本人的機器沒有SCSI設備,顧暫時無法提供示例。?
--------------------------------------------------------------------------------


/proc/sys子目錄

在此目錄下有許多子目錄。此目錄中的許多項都可以用來調整系統的性能。這個目錄包含信息太多,無法介紹全部。只在示例中展示目錄下的一些文件。

示例:[root@localhost /]# ls /proc/sys
debug?? dev?? fs?? kernel?? net?? proc?? sunrpc?? vm?
--------------------------------------------------------------------------------
[root@localhost ~]# ls /proc/sys/fs
aio-max-nr dentry-state ?? file-nr ?? lease-break-time?? overflowgid
aio-nr ?? dir-notify-enable?? inode-nr ??? leases-enable ??? overflowuid
binfmt_misc?? file-max ?? ?? ??? inode-state?? mqueue ?? ?? ?? quota?
--------------------------------------------------------------------------------
[root@localhost ~]# ls /proc/sys/kernel
acct ?? ?? ?? ?? ?? hotplug ?? panic ?? ?? ?? ?? ?? sem
cad_pid ?? ?? ?? ?? modprobe ??? panic_on_oops ?? ?? ??? shmall
cap-bound ?? ?? ?? ??? msgmax ?? pid_max ?? ?? ?? ?? ??? shmmax
core_pattern ?? ?? ??? msgmnb ?? print-fatal-signals ??? shmmni
core_uses_pid ?? ?? msgmni ?? printk ?? ?? ?? ?? ?? sysrq
ctrl-alt-del ?? ?? ??? ngroups_max?? printk_ratelimit ?? ??? tainted
domainname ?? ?? ?? osrelease printk_ratelimit_burst?? threads-max
exec-shield ?? ?? ?? ostype ?? pty ?? ?? ?? ?? ?? ?? vdso
exec-shield-randomize?? overflowgid?? random ?? ?? ?? ?? ?? version
hostname ?? ?? ?? ?? overflowuid?? real-root-dev?
--------------------------------------------------------------------------------
[root@localhost ~]# ls /proc/sys/net
core?? ethernet?? ipv4?? ipv6?? unix?
--------------------------------------------------------------------------------

[root@localhost sys]# ls /proc/sys/vm
block_dump ?? ?? ?? ?? ??? laptop_mode ?? ?? ?? nr_pdflush_threads
dirty_background_ratio ??? legacy_va_layout ?? overcommit_memory
dirty_expire_centisecs ??? lower_zone_protection?? overcommit_ratio
dirty_ratio ?? ?? ?? ?? max_map_count ?? ?? page-cluster
dirty_writeback_centisecs?? min_free_kbytes ?? ??? swappiness
hugetlb_shm_group ?? ?? nr_hugepages ?? ?? ??? vfs_cache_pressure?
--------------------------------------------------------------------------------

[root@localhost sys]# ls /proc/sys/net/ipv4
conf ?? ?? ?? ?? ?? ?? ?? ?? ?? tcp_fack
icmp_echo_ignore_all ?? ?? ?? ?? tcp_fin_timeout
icmp_echo_ignore_broadcasts ?? ??? tcp_frto
icmp_ignore_bogus_error_responses?? tcp_keepalive_intvl
icmp_ratelimit ?? ?? ?? ?? ?? ?? tcp_keepalive_probes
icmp_ratemask ?? ?? ?? ?? ?? ?? tcp_keepalive_time
igmp_max_memberships ?? ?? ?? ?? tcp_low_latency
igmp_max_msf ?? ?? ?? ?? ?? ?? ??? tcp_max_orphans
inet_peer_gc_maxtime ?? ?? ?? ?? tcp_max_syn_backlog
inet_peer_gc_mintime ?? ?? ?? ?? tcp_max_tw_buckets
inet_peer_maxttl ?? ?? ?? ?? ?? tcp_mem
inet_peer_minttl ?? ?? ?? ?? ?? tcp_moderate_rcvbuf
inet_peer_threshold ?? ?? ?? ?? tcp_no_metrics_save
ip_autoconfig ?? ?? ?? ?? ?? ?? tcp_orphan_retries
ip_conntrack_max ?? ?? ?? ?? ?? tcp_reordering
ip_default_ttl ?? ?? ?? ?? ?? ?? tcp_retrans_collapse
ip_dynaddr ?? ?? ?? ?? ?? ?? ?? tcp_retries1
ip_forward ?? ?? ?? ?? ?? ?? ?? tcp_retries2
ipfrag_high_thresh ?? ?? ?? ?? ??? tcp_rfc1337
ipfrag_low_thresh ?? ?? ?? ?? ?? tcp_rmem
ipfrag_secret_interval ?? ?? ?? tcp_sack
ipfrag_time ?? ?? ?? ?? ?? ?? ?? tcp_stdurg
ip_local_port_range ?? ?? ?? ?? tcp_synack_retries
ip_nonlocal_bind ?? ?? ?? ?? ?? tcp_syncookies
ip_no_pmtu_disc ?? ?? ?? ?? ?? ??? tcp_syn_retries
neigh ?? ?? ?? ?? ?? ?? ?? ?? ?? tcp_timestamps
netfilter ?? ?? ?? ?? ?? ?? ?? ??? tcp_tso_win_divisor
route ?? ?? ?? ?? ?? ?? ?? ?? ?? tcp_tw_recycle
tcp_abort_on_overflow ?? ?? ?? ??? tcp_tw_reuse
tcp_adv_win_scale ?? ?? ?? ?? ?? tcp_vegas_alpha
tcp_app_win ?? ?? ?? ?? ?? ?? ?? tcp_vegas_beta
tcp_bic ?? ?? ?? ?? ?? ?? ?? ?? tcp_vegas_cong_avoid
tcp_bic_fast_convergence ?? ?? ??? tcp_vegas_gamma
tcp_bic_low_window ?? ?? ?? ?? ??? tcp_westwood
tcp_dsack ?? ?? ?? ?? ?? ?? ?? ??? tcp_window_scaling
tcp_ecn ?? ?? ?? ?? ?? ?? ?? ?? tcp_wmem?
--------------------------------------------------------------------------------

[root@localhost sys]# cat /proc/sys/kernel/shmall
2097152?
--------------------------------------------------------------------------------
[root@localhost sys]# cat /proc/sys/kernel/osrelease
2.6.9-1.667

--------------------------------------------------------------------------------


總結:/proc文件系統包含了大量的有關當前系統狀態的信息。proc的手冊頁中也有對這些文件的解釋文檔。把文件和分析這些文件的工具產生的輸出進行比較能夠更加清晰地了解這些文件。

總結

以上是生活随笔為你收集整理的Linux /dev目录详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。