文档库 最新最全的文档下载
当前位置:文档库 › Linux中proc目录下文件详解

Linux中proc目录下文件详解

Linux中proc目录下文件详解
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

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:

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

/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@https://www.wendangku.net/doc/fb8463328.html,) (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

linux proc文件系统学习

linux proc文件系统学习 目录: /proc --- 一个虚拟文件系统 加载 proc 文件系统 察看 /proc 的文件 得到有用的系统/内核信息 有关运行中的进程的信息 通过 /proc 与内核交互 结论 参考文献 摘要: Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。尽管在各种硬件平台上的 Linux 系统的 /proc 文件系统的基本概念都是相同的,但本文只讨论基于 intel x86 架构的 Linux /proc 文件系统。 _________________ _________________ _________________ 一./proc --- 一个虚拟文件系统 /proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制(所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取有关进程的有用信息,在运行中 (on the fly) 改变设置(通过改变内核参数)。与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。如果你察看文件 /proc/mounts (和 mount 命令一样列出所有已经加载的文件系统),你会看到其中一行是这样的: grep proc /proc/mounts /proc /proc proc rw 0 0 /proc 由内核控制,没有承载 /proc 的设备。因为 /proc 主要存放由内核控制的状态信息,所以大部分这些信息的逻辑位置位于内核控制的内存。对 /proc 进行一次 'ls -l' 可以看到大部分文件都是 0 字节大的;不过察看这些文件的时候,确实可以看到一些信息。这怎么可能?这是因为 /proc 文件系统和其他常规的文件系统一样把自己注册到虚拟文件系统层 (VFS) 了。然而,直到当 VFS 调用它,请求文件、目录的 i-node 的时候,/proc 文件系统才根据内核中的信息建立相应的文件和目录。 二.加载 proc 文件系统 如果系统中还没有加载 proc 文件系统,可以通过如下命令加载 proc 文件系统: mount -t proc proc /proc 上述命令将成功加载你的 proc 文件系统。更多细节请阅读 mount 命令的man page。 三.察看 /proc 的文件 /proc 的文件可以用于访问有关内核的状态、计算机的属性、正在运行的进

linux文件与目录管理命令大全

1、mkdir -p test1/test2/test3 循环创建目录 rmdir -p test1/test2/test3 循环删除目录,前提这些目录都是空 mkdir -m 711 test4 指定目录的权限,如果不加m的话就是默认权限 2、PATH 查找文件属性的命令的ls的完整文件是:/bin/ls,为什么在任何一个地方输入ls都可以 进行文件的查找呢?因为环境变量PATH的帮助,当执行ls时候,系统会按照PATH定义的路径 去寻找,如果PATH中含有多个文件名为ls的文件,先被查询到的会被执行! echo $PATH >>> /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/s bin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin: /root/bin 上面是root用户,当是一般用户时候: echo $PATH>>> /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/h ome/cao/bin

由此可见PATH这个文件的内容是由一堆目录组成的,每个目录用:隔开,发现不管是 一般用户还是超级用户,都有/bin目录,所以都可以执行ls,因为ls就在bin下面! 但是一般用户没有sbin目录,这也是为什么有些命令只有超级用户才可以执行! 例题1:一般用户 $ifconfig eth0 不成功 超级用户 #ifconfig eth0 成功 一般用户 $/sbin/ifconfig eth0 成功 例题2:假如你是root,如果将ls由/bin/ls 移动成/root/ls(mv /bin/ls /root)然后你自己也在root目录下, (1)可不可以直接输入ls来执行? 不行,因为/root的这个目录并不在PATH指定目录中 (2)若不能该如何来执行? /root/ls 或者./ls (3)若要直接可以用ls可以执行,怎么做?将/root加入PATH 中,PATH="$PATH":/root 这个例题做好之后,别忘记将ls再次移动过来,否则系统就要出问题了! 3、查看文件与目录

linux 目录结构及常用命令

Linux目录结构简介及常用命令 Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debian (一)初学Linux,首先需要弄清Linux 标准目录结构 / ?root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。 ?home --- 存储普通用户的个人文件 ?ftp --- 用户所有服务 ?httpd ?samba ?user1 ?user2 ?bin --- 系统启动时需要的执行文件(二进制) ?sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行 ?proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息? 1 --- 进程编号 ?usr --- 用户目录,存放用户级的文件 ?bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin ?sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序

?include --- 存放C/C++头文件的目录 ?lib --- 固定的程序数据 ?local --- 本地安装软件保存位置 ?man --- 手工生成的目录 ?info --- 信息文档 ?doc --- 不同包文档信息 ?tmp ?X11R6 --- 该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。 ?X386 --- 功能同X11R6,X11 发行版5 的系统文件 ?boot --- 引导加载器所需文件,系统所需图片保存于此 ?lib --- 根文件系统目录下程序和核心模块的公共库 ?modules --- 可加载模块,系统崩溃后重启所需模块 ?dev --- 设备文件目录 ?etc --- 配置文件 ?skel --- home目录建立,该目录初始化 ?sysconfig --- 网络,时间,键盘等配置目录 ?var ?file ?lib --- 该目录下的文件在系统运行时,会改变 ?local --- 安装在/usr/local的程序数据,变化的 ?lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问 ?log --- 记录日志 ?run --- 系统运行合法信息 ?spool --- 打印机、邮件、代理服务器等假脱机目录 ?tmp ?catman --- 缓存目录 ?mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。 ?tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmp ?lost+found --- 在文件系统修复时恢复的文件 /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin 应该和根目录放置在一个分区中 /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。 /boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可 /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

实验 Linux文件和目录操作

实验Linux文件和目录操作(1) 一、实验内容 练习Linux文件和目录操作命令。 二、实验目的 掌握文件与目录管理命令 掌握文件内容查阅命令 三、实验题目 1. 文件与目录管理 (1) 查看CentOS根目录下有哪些内容? (2) 进入/tmp目录,以自己的学号建一个目录,并进入该目录。 (3) 显示目前所在的目录。 (4) 在当前目录下,建立权限为741的目录test1,查看是否创建成功。 (5) 在目录test1下建立目录test2/teat3/test4。 (6) 进入test2,删除目录test3/test4。 (7) 将root用户家目录下的.bashrc复制到/tmp下,并更名为bashrc (8) 重复步骤6,要求在覆盖前询问是否覆盖。 (9) 复制目录/etc/下的内容到/tmp下。 (10) 在当前目录下建立文件aaa。 (11)查看该文件的权限、大小及时间 (12) 强制删除该文件。 (13) 将/tmp下的bashrc移到/tmp/test1/test2中。 (14) 将/test1目录及其下面包含的所有文件删除。 2. 文件内容查阅、权限与文件查找 (1) 使用cat命令加行号显示文件/etc/issue的内容。 (2) 反向显示/etc/issue中的内容。 (3) 用nl列出/etc/issue中的内容。 (4) 使用more命令查看文件/etc/man.config (5) 使用less命令前后翻看文件/etc/man.config中的内容 (6) 使用head命令查看文件/etc/man.config前20行 (7) 使用less命令查看文件/etc/man.config后5行 (8) 查看文件/etc/man.config前20行中后5行的内容 (9) 将/usr/bin/passwd中的内容使用ASCII方式输出 (10) 进入/tmp目录,将/root/.bashrc复制成bashrc,复制完全的属性,检查其日期 (11) 修改文件bashrc的时间为当前时间

Linux文件与目录、用户与组

目录与路径 1.相对路径与绝对路径 ++++++ 相对路径:由/usr/share/doc --/usr/share/man cd ../man ++++++ 2.目录的相关操作 ++++++ cd -代表前一个工作目录 ~代表“目前用户身分”所在的主文件夹 ++++++ pwd -P 显示正确的完整路径 mkdir 3.执行文件路径变量$PATH ++++++ 命令 ls在/bin文件下,并设置了环境变量$PATH,所以在任何地方都可以执行ls命令没有设置环境变量的命令可以使用绝对路径执行或者将命令路径放到已设置环境变量的文件中 将文件放在PATH中 PATH="$PATH":/root

++++++ 文件与目录管理 ++++++ 1.查看文件与目录 ++++++ ls命令 -l :以长格式显示long format -d:显示目录本身的属性directory -t:按文件修改时间进行排序time -r :将目录的内容清单以英文字母顺序的逆序显示 -a:显示所有子目录和文件的信息,包括隐藏文件all -A:类似于“-a”,但不显示“.”和“..”目录的信息 -h:以更易读的字节单位(K、M等)显示信息human-readable -R:递归的显示目录内容 -S:以文件容量大小排序 -n:列出uid和gid --full-time:显示完整的时间 ---------------- 察颜观色 黑色代表是普通的文件 蓝色代表是目录(文件夹) 紫色代表是图片文件 绿色代表是可以执行的文件(脚本文件)--》存放linux命令的红色代表是压缩文件

++++++ file 查看文件类型 file tyz/ ++++++ du 查看文件的大小 -a all 显示文件和文件夹的大小,默认以k为单位显示,最后统计总的大小 -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -s, --summarize ++++++ stat fuxingkai 查看文件的状态 ++++++ 2.复制、删除与移动 ++++++ cp -i:覆盖询问 -r:递归复制 -p:连同文件属性一起复制过去 -a:复制文件完全一样

linux目录结构

1、什么是文件系统 当您使用Linux的时候,如果您通过ls –l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为树形结构。 linux文件系统的最顶端是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。 2、文件系统的类型 LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。 普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。 目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,可用ls列出目录文件。 连接文件:是指向同一索引节点的那些目录条目。用ls来查看是,连接文件的标志用l开头,而文件面后以"->"指向所连接的文件。 特殊文件:LINUX的一些设备如磁盘、终端、打印机等都在文件系统中表示出来,这一类文件就是特殊文件,常放在/dev目录内。例如,软驱A称为/dev/fd0。LINUX无C:的概念,而是用/dev/sda 来指第一硬盘。 3、目录结构的详细解说 文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的/usr、 /etc ... ... /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版本也会存在一些小小的差异,但总体来说,大体还是差不多。 言归正传,下面将讲到本文最核心的部分:linux文件系统的目录结构。 / Linux文件系统的入口,也是处于最高一级的目录; /bin 系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。 /boot Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;

通过proc文件获取系统资源

通过读 proc 等方式获取 Linux 系统状态信息的一些方法(转)
2007-11-23 16:50
现在又要搞进程的 CPU,MEM 信息,继续查索 本文中所有样例,2.6.x kernel 的取自 rhel4, 2.4.x kernel 的取自 rh9. Copyright: icymoon@NKU 1.需要的系统状态信息
? ? ? ? ?
CPU Usage Memory/Swap Usage Disk Usage Disk I/O Ratio Process Information
2.相关文件及计算方法(1)CPU Usage 相关文件:/proc/stat 的第一行 文件样例&基本计算方法: a. 2.4.x kernel:
cpu 3156877 522645 1178059 169750391 cpu0 1111979 148713 315873 42075428 cpu1 444227 139960 119846 42947960 cpu2 1113218 155429 480187 41903159 cpu3 487453 78543 262153 42823844 page 1265588 10643253 swap 121 1258 intr 135336914 43651993 84 0 0 1 0 3 0 1 0 0 0 0 0 2 0 0 0 0 0 30 0 0 0 0 0 0 778176 42 60685630 30220952 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 disk_io: (8,0):(788586,178980,2529284,609606,21286496) (8,1):(3,3,24,0,0) ctxt 171689341 btime 1177119654 processes 3110142
在 kernel 2.4.x 下,第一行只有五个字段,后四个字段依次是自从系统 启动以来,系统运行在 user mode, nice, system mode 下和 idle 状态的时 间,以 1/100 秒为单位。(后面的 cpu0, cpu1…行是在有多处处理器的机器 上,每个处理器运行在不同模式下的值,含义相同。) 则设总 CPU 运行时间为 total,total = usr + nice + sys + idle 在一定时间间隔下两次读取文件,得到前后两次的处理器运行时间为 usr1, nice1,sys1,idle1 与 usr2, nice2, sys2, idle2. total1 = usr1 + nice1 + sys1 + idle1 total2 = usr2 + nice2 + sys2 + idle2 间隔时间为 itv = total2-total1,则有

Linux文件系统实验

实验编号与实验名称: 文件系统实验 实验目的: 熟悉文件和目录的基本操作;了解Linux的/proc文件系统 实验内容及要求(详见实验讲义与实验指导书): 内容: 1)在/usr目录下创建一个目录usr_test和文本文件test,并建立一个test文件的链接 test02。通过修改test文件中的内容查看test和test02中内容的情况,并分析原因。 2)编写程序,从/proc文件中抽取内核参数(任意的2个参数即可,如CPU时钟速度信 息等) 3)实现文件的拷贝,即把一个文件内容复制到另一个文件 要求: 对于内容1),给出操作步骤和结果分析,需回顾第二次实验中练习过的Shell命令和教材中的文件和目录操作系统调用 对于内容2)和3)给出完整C语言代码或者代码截图和代码执行结果,可参考本文件“实验预读”中相关内容和教材P.149/266图4-5相关代码 实验用到的软件(:) VMware 实验内容及关键步骤(代码)Q2(60分) 1)在/usr目录下创建一个目录usr_test和文本文件test,并建立一个test文件的链接 test02。通过修改test文件中的内容查看test和test02中内容的情况,并分析原因。

分析:在linux系统中通过link连接就可以通过第三方的查询,通过link函数后test01被绑定给test02中,所以可以通过test02去查询。 2.编写程序,从/proc文件中抽取内核参数(任意的2个参数即可,如CPU时钟速度信息等)

3.实现文件的拷贝,即把一个文件内容复制到另一个文件

实验过程中遇到的问题解决办法与实验体会Q3(10分)得分: 评阅教师特殊评语: 评阅教师: 日期:

Linux标准目录结构及说明

Linux标准目录结构及说明 路径名说明 /bin 最核心的操作系统命令所在位置 /boot 内核和内核加载所需要的文件位置 /dev 硬盘、伪终端、打印机等设备文件的位置 /etc 关键的启动文件和配置文件的位置 /home 普通用户默认的主目录(家目录)位置 /lib 库、共享库、部分C编译器的位置 /media 可移动设备文件系统的挂在点位置,例如:U盘、移动硬盘等 /mnt 可移动设备文件系统的临时挂在点位置,例如:U盘、移动硬盘等 /opt 可选的应用软件包位置,一般情况下,自己安装的软件可以考虑放在此位置 /proc 虚拟文件系统位置,所有正在运行进程的信息所在位置 /root 根用户(root用户)的主目录位置 /sbin 系统最小规模运行所需命令的位置 /tmp 临时目录,每次重启其中的文件就会消失 /usr 次要文件和命令所在位置 /usr/bin 大多数命令和可执行程序文件的位置 /usr/include 编译C程序时头文件的位置 /usr/lib 库,标准程序运行所需的支持库位置 /usr/lib64 库,64位标准程序运行所需的支持库位置 /usr/local 用户编写或安装的软件的位置,第三方安装包大部分安装到此位置 /usr/sbin 不太关键的系统运维管理命令的位置 /usr/share 多种系统共用内容的位置 /usr/share/man Man命令使用时的联机手册的位置 /usr/src 非本地软件包的源代码位置 /usr/tmp 更多的临时空间位置,重启后其中的文件依然存在 /var 系统专用的数据和配置文件的位置,例如:默认MySQL数据的位置为/var/lib/mysql /var/adm 日志、系统设置记录、奇怪的管理信息的位置 /var/log 各种系统服务对应的日志文件的位置 /var/spool 邮件、打印机等使用的假脱机目录位置 /var/tmp 更多的临时空间位置,重启后其中的文件依然存在

SAS系统和数据分析PROC步中的通用语句

第十六课用在PROC步中的通用语句 当我们用DATA步创建好SAS数据集后,可以用SAS的一些PROC过程步来进一步的分析和处理它们。在DATA步中用户可以使用SAS的语句来编写自己的程序,以便能通过读入、处理和描述数据,创建符合自己特殊要求的SAS数据集。而后由一组组PROC步组成的程序进行后续分析和处理。 一、PROC程序的主要作用 ●读出已创建好的SAS数据集 ●用数据集中的数据计算统计量 ●将统计的结果按一定形式输出 在SAS系统中,计算统计量时,对于许多常用的和标准的统计计算方法,并不需要用户自己编写这些复杂的程序,而是通过过程的名字来调用一个已经为用户编写好的程序。用户通常只要编写调用统计过程前的准备处理程序和输出统计结果后的分析和管理程序。只有用户自己非常特殊的统计计算方法才需要用户自己编写相应的计算程序。 二、PROC过程语句 PROC语句用在PROC步的开始,并通过过程名来规定我们所要使用的SAS过程,对于更进一步的分析,用户还可以在PROC语句中使用一些任选项,或者附加其他语句及它们的任选项(如BY语句)来对PROC步规定用户所需要分析的更多细节。PROC语句的格式为: PROC 过程名<选项>; 过程名规定用户想使用的SAS过程的名字。例如,我们在前面常使用的打印过程名PRINT,对数值变量计算简单描述统计量的过程名MEANS。 选项规定这个过程的一个或几个选项。不同的过程规定的选项是不同的,因此,只有知道具体的过程才能确定具体的选项是什么。但是,在各个不同过程中使用选项时,下面三种选项的使用格式是共同的: ●Keyword ●Keyword=数值 ●Keyword=数据集 Keyword是关键字,第一种选项格式是某个具体过程进一步要求某个关键字;第二种选项格式是某个具体过程要求某个关键字的值,值可能是数值或字符串;第三种选项格式是某个具体过程要求输入或输出数据集。例如: PROC Print Data=class ; 过程Print,作用为打印输出数据集中的数据。选项为Data=class,关键字是Data,进一步说明要打印输出的数据集名为class。如果省略这个选项,将用最近产生的SAS数据集。

Linux文件系统制作详细

Linux文件系统制作流程 关键词:ARM Linux yaffs 文件系统移植 Linux 文件系统简介 Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。 Linux下的文件系统结构如下: Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。 不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为RAM(DRAM,

SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。 >基于FLASH的文件系统 Flash(闪存)作为嵌入式系统的主要存储媒介,有其自身的特性。Flash的写入操作只能把对应位置的1修改为0,而不能把0修改为1(擦除Flash就是把对应存储块的内容恢复为1),因此,一般情况下,向Flash写入内容时,需要先擦除对应的存储区间,这种擦除是以块(block)为单位进行的。 闪存主要有NOR和NAND两种技术(简单比较见附录)。Flash存储器的擦写次数是有限的,NAND闪存还有特殊的硬件接口和读写时序。因此,必须针对Flash 的硬件特性设计符合应用要求的文件系统;传统的文件系统如ext2等,用作Flash的文件系统会有诸多弊端。 在嵌入式Linux下,MTD(Memory Technology Device,存储技术设备)为底层硬件(闪存)和上层(文件系统)之间提供一个统一的抽象接口,即Flash的文件系统都是基于MTD驱动层的(参见上面的Linux下的文件系统结构图)。使用MTD 驱动程序的主要优点在于,它是专门针对各种非易失性存储器(以闪存为主)而设计的,因而它对Flash有更好的支持、管理和基于扇区的擦除、读/写操作接口。 顺便一提,一块Flash芯片可以被划分为多个分区,各分区可以采用不同的文件系统;两块Flash芯片也可以合并为一个分区使用,采用一个文件系统。即文件系统是针对于存储器分区而言的,而非存储芯片。 1. jffs2 JFFS文件系统最早是由瑞典Axis Communications公司基于Linux2.0的内核为嵌入式系统开发的文件系统。JFFS2是RedHat公司基于JFFS开发的闪存文件系统,最初是针对RedHat公司的嵌入式产品eCos开发的嵌入式文件系统,所以JFFS2也可以用在Linux, uCLinux中。 Jffs2: 日志闪存文件系统版本2 (Journalling Flash FileSystem v2) 主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃/掉电安全保护,提供“写平衡”支持等。缺点主要是当文件系统已满或接近满时,因为垃圾收集的关系而使jffs2的运行速度大大放慢。 目前jffs3正在开发中。关于jffs系列文件系统的使用详细文档,可参考MTD补丁包中mtd-jffs-HOWTO.txt。 jffsx不适合用于NAND闪存主要是因为NAND闪存的容量一般较大,这样导致jffs为维护日志节点所占用的内存空间迅速增大,另外,jffsx文件系统在

Linux 目录结构及主要内容-小米

Linux 目录结构及主要内容 1 “/”根目录部分有以下子目录: /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。 /var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等/home 目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。 /proc 目录整个包含虚幻的文件。它们实际上并不存在磁盘上,也不占用任何空间。(用ls –l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统 /bin 系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。 /sbin 系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。)/etc 操作系统的配置文件目录。 /root 系统管理员(也叫超级用户或根用户)的Home目录。 /dev 设备文件目录。LINUX下设备被当成文件,这样一来

硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。 /lib 根文件系统目录下程序和核心模块的共享库。 /boot 用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。这个目录也会包含LINUX 核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。 /opt 可选的应用程序,譬如,REDHAT 5.2下的KDE (REDHAT 6.0下,KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下) /tmp 临时文件。该目录会被自动清理干净。 /lost+found 在文件系统修复时恢复的文件 “/usr”目录下比较重要的部分有: /usr/X11R6 X-WINDOWS系统(version 11, release 6) /usr/X11 同/usr/X11R6 (/usr/X11R6的符号连接) /usr/X11R6/bin 大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。 /usr/doc LINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。 /usr/share 独立与你计算机结构的数据,譬如,字典中的词。

根文件系统

根文件系统 物联网学院平震宇

根文件系统 根文件系统就是一种目录结构,根文件系统包括Linux启动时所必需的目录和关键性的文件。例如Linux启动时都需要有init日录下的相关文件,在Linux挂载分区时Linux一定会找/etc/fstab这个挂载文件系统等,根文件系统中还包括了许多的应用程序bin目录等。

基本根文件系统目录构成解析 目录名称含义/bin 存放二进制程序,如:ls,cp /boot 存放系统启动的一些程序 /dev 存放设备文件 /etc 存放系统配置文件,如:group,profile /home 用户根目录 /lib 存放库文件 /media 媒介的挂载点,如:闪存 /mnt 该目录用来为其他文件系统提供安装点 /opt 不随发行版本一起交付的程序 /proc proc文件系统 /root 超级用户根目录 /sbin 存放超级用户运行的二进制文件 /src 存放一些服务的目录 /sys sys文件系统的目录 /var 存放经常变化的文件,如临时文件等

根文件系统引导过程 BusyBox的init进程会依次进行以下工作 ?为init设置信号处理进程。 ?初始化控制台。 ?剖析inittab文件、/etc/inittab文件。 ?执行系统初始化的命令行。 ?BusyBox在缺省情况下会使用/etc/init.d/rcS命令行。 ?执行所有会导致init暂停的inittab命令。 ?执行所有仅执行一次的inittab命令。 ?一旦完成以上工作,init进程便会循环执行以下工作: ?执行所有终止时必须重新启动的inittab命令。 ?执行所有终止时必须重新启动但启动前必须先询问过用户的?inittab命令

Linux各目录及每个目录的详细介绍

Linux各目录及每个目录的详细介绍 /bin二进制可执行命令 /dev设备特殊文件 /etc/rc.d启动的配置文件和脚本 /home用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin超级管理命令,这里存放的是系统管理员使用的管理程序 /tmp公共的临时文件存储点 /root系统管理员的主目录 /mnt系统提供这个目录是让用户临时挂载其他的文件系统 /lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里 /proc虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。 /var某些大文件的溢出区,比方说各种服务的日志文件 /usr最庞大的目录,要用到的应用程序和文件几乎都在这个目录,其中包含: /usr/x11R6存放xwindow的目录 /usr/bin众多的应用程序 /usr/sbin超级用户的一些管理程序 /usr/doclinux文档 /usr/includelinux下开发和编译应用程序所需要的头文件 /usr/lib常用的动态链接库和软件包的配置文件 /usr/man帮助文档 /usr/src源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local/bin本地增加的命令 /usr/local/lib本地增加的库根文件系统 通常情况下,根文件系统所占空间一般应该比较小,因为其中的绝大部分文件都不需要经常改动,而且包括严格的文件和一个小的不经常改变的文件系统不容易损坏。

linux目录结构

linux目录结构 / 根目录 /bin 常用的命令 binary file 的目录 /boot 存放系统启动时必须读取的档桉,包括核心 (kernel) 在内 /boot/grub/menu.lst GRUB设置 /boot/vmlinuz 内核 /boot/initrd 核心解压缩所需 RAM Disk /dev 系统周边设备 /etc 系统相关设定文件 /etc/DIR_COLORS 设定颜色 /etc/HOSTNAME 设定用户的节点名 /etc/NETWORKING 只有YES标明网络存在 /etc/host.conf 文件说明用户的系统如何查询节点名 /etc/hosts 设定用户自已的IP与名字的对应表 /etc/hosts.allow 设置允许使用inetd的机器使用 /etc/hosts.deny 设置不允许使用inetd的机器使用 /etc/hosts.equiv 设置远端机不用密码 /etc/inetd.conf 设定系统网络守护进程inetd的配置 /etc/gateways 设定路由器 /etc/protocols 设定系统支持的协议 /etc/named.boot 设定本机为名字服务器的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 设置IP /etc/resolv.conf 设置DNS /etc/X11 X Window的配置文件,xorg.conf 或 XF86Config 这两个 X Server 的设定档 /etc/fstab 记录开机要mount的文件系统 /etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel /etc/issue 记录用户登录前显示的信息 /etc/group 设定用户的组名与相关信息 /etc/passwd 帐号信息 /etc/shadow 密码信息 /etc/sudoers 可以sudo命令的配置文件 /etc/securetty 设定哪些终端可以让root登录 /etc/login.defs 所有用户登录时的缺省配置 /etc/exports 设定NFS系统用的 /etc/init.d/ 所有服务的预设启动 script 都是放在这裡的,例如要启动或者关闭 /etc/xinetd.d/ 这就是所谓的 super daemon 管理的各项服务的设定档目录 /etc/modprobe.conf 内核模块额外参数设定 /etc/syslog.conf 日志设置文件 /home 使用者家目录 /lib 系统会使用到的函数库 /lib/modules kernel 的相关模块 /var/lib/rpm rpm套件安装处 /lost+found 系统不正常产生错误时,会将一些遗失的片段放置于此目录下 /mnt 外设的挂载点 /media 与/mnt类似 /opt 主机额外安装的软件 /proc 虚拟目录,是内存的映射 /proc/version 内核版本 /proc/sys/kernel 系统内核功能 /root 系统管理员的家目录 /sbin 系统管理员才能执行的指令 /srv 一些服务启动之后,这些服务所需要取用的资料目录 /tmp 一般使用者或者是正在执行的程序暂时放置档桉的地方 /usr 最大的目录,存许应用程序和文件 /usr/X11R6: X-Window目录 /usr/src: Linux源代码 /usr/include:系统头文件 /usr/openwin 存放SUN的OpenWin /usr/man 在线使用手册 /usr/bin 使用者可执行的 binary file 的目录 /usr/local/bin 使用者可执行的 binary file 的目录

linux系统下查看系统信息命令

Linux的文件系统中,有一个特殊目录“/proc”,该目录下列出的文件并非保存在磁盘上,而是内存中的一个映像。在该目录下可以找到许多有意思的东西,例如: /proc/cpuinfo 本机CPU的相关信息; /proc/meminfo 本机内存及交换分区的使用信息; /proc/modules 本机已安装的硬件模块信息; /proc/mounts 本机已挂载mount 上的设备信息; 此外,该目录下有一些以数字为名称的子目录,每个子目录用于维护一个正在运行的进程,而目录名即为相应的进程ID。例如进入名称为“1” 的子目录:cd /proc/1 该目录下文件“cmdline” 中的内容为该进程运行时执行的命令行;“environ”文件中的内容为该进程运行时的环境变量信息;“stat” 文件中存放的时该进程运行的状态信息等。 通过查看“ /proc” 目录下的文件,可以获取几乎所有的系统信息及系统的运行状态信息。事实上,Linux下的诸多查询系统状态信息的命令,也是通过读取该目录下的文件而获取的。 以下是一些用于查看系统状态信息的命令: df 命令 用于查看Linux 文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。如: df -k 以千字节(KB)为单位显示各分区的信息; df -a 显示所有分区,包括大小为0 的分区; df -T 显示分区类型(EXT2 或EXT3等)。 du 命令 用于查看文件或文件夹的大小。如: du -b /home 以字节为单位显示“ /home ”文件夹下各个子文件夹的大小; du -ks home 以千字节(KB)为单位显示“/home” 文件夹的总大小; top 命令(第三页有详细的图形介绍top命令) 用于实时查看系统状态信息。运行该命令后,屏幕上会显示如下信息: CPU状态(CPU states):包括用户进程占用比率、系统进程占用比率、用户的nice 优先级进程占用比率及空闲CPU资源比率等;

Linux文件系统下proc目录详解

Linux中/proc目录下文件详解(2008-7-20 15:54)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

相关文档