<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/vnd.wap.wml; charset=utf-8"/>
<meta http-equiv="Cache-Control" content="no-cache"/></head>
<card title="回顾 /proc 目录 - Gracecode.com">
<p>Linux 内核将所有的设备都抽象成文件管理。这在 Linux 开发中非常有用，比如读取和写入端口只需要文件操作就可以了。</p>

<p>基本上，Linux 系统下的文件类型可以划分成 普通文件、目录（是的，目录也是文件）、字符设备文件、块设备文件、符号链接文件等。具体的文件类型信息，可以<a href="http://www.linuxsir.org/main/?q=node/191" title="http://www.linuxsir.org/main/?q=node/191">参考这里</a>。</p>

<p><img src="http://www.gracecode.com/upload/2007_11_10/1194688459.gif" alt="http://www.gracecode.com/upload/2007_11_10/1194688459.gif" title="http://www.gracecode.com/upload/2007_11_10/1194688459.gif" /></p>

<p>很多兄弟都会发现，在根目录（“/”）下都有个名为 proc 的目录。而实际的硬盘上，却并没有此目录内容。这是因为 Linux 内核在初始化系统以后，对系统各信息生成的映射。</p>

<p>比如，/proc/cpuinfo 文件记录了本机的 CPU 信息。放心的 cat 一下吧，它可以认为是个文本文件。这样，无论调用哪种程序语言（当然，Javascript 可不行），只要访问这个文件的内容就可得知 CPU 信息。</p>

<p>类似的，比如</p>

<ol>
    <li>/proc/meminfo  本机的内存信息</li>
    <li>/proc/version  内核的版本信息，甚至包含了编译日期</li>
    <li>/proc/filesystems 内核支持的文件系统列表</li>
    <li>/proc/uptime 记录了系统已经运行了多少秒</li>
    <li>...</li>
</ol>

<p>通过 proc 目录，还可以得知内核是否支持某项功能。比如在 proc 目录下有没 apm （“/proc/apm”）文件，即可得知内核是否支持高级电源管理等等。</p>

<p>最后，有关 proc 更多的内容，可以<a href="http://www.linuxgem.org/tip/discover-the-the-proc-folder.html" title="http://www.linuxgem.org/tip/discover-the-the-proc-folder.html">参看这里</a>。</p>


<p>
<a href="http://www.gracecode.com/wap/">Gracecode.com</a> |
<a href="http://www.gracecode.com/wap/d/1398 ">Permalink</a>(<a href="http://www.gracecode.com/Archive/Display/1398 ">xHTML</a>) |
<a href="http://www.gracecode.com/Trackback/Recieve/1398/dymojg">Trackback</a> |
<a href="http://rss.gracecode.com">Rss</a>
</p>
</card>
</wml>