嵌入式Linux设备驱动程序开发指南(原书第2版)
上QQ阅读APP看书,第一时间看更新

1.5 根文件系统

根文件系统是所有文件(包括设备节点)存储的地方,这些文件以一定的文件层次结构组织在一起。通常根文件系统挂载到“/”。根文件系统包含所有的二进制文件、应用程序和数据。

根文件系统中文件夹的结构由FHS(文件系统结构标准)定义。FHS定义了很多文件类型和文件夹的名字、路径和权限。这样可以确保不同Linux发行版本的兼容性,同时允许应用程序做出预设:到哪里可以找到特定的系统文件和配置。

嵌入式Linux的根文件系统通常包含下面这些内容:

  • /bin:系统启动时所需的命令,普通用户也可能会用到(有可能在启动之后使用)。
  • /sbin:与/bin目录一样,但是这些命令不适合普通用户使用(然在必要的情况下并且有授权时也可以由普通用户使用);/sbin通常不在普通用户的默认路径中,而是在超级用户的默认路径中。
  • /etc:针对当前机器的配置文件。
  • /home:相当于Windows系统里的“我的文档”。
  • /root:系统中超级用户的主文件夹。系统中的其他用户通常不能访问这个目录。
  • /lib:包含必要的共享库文件和内核模块文件。
  • /dev:设备文件。这些是特殊的虚拟文件,有助于用户与系统的各种设备进行交互。
  • /tmp:临时文件。顾名思义,运行的程序经常在这里存放临时文件。
  • /boot:存放引导加载程序使用的文件。内核映像通常会保存在这里而不是根目录中。如果有许多内核映像,目录很容易变得太大,最好将其保存在单独的文件系统中。
  • /mnt:临时挂载文件系统的挂载点。
  • /opt:附加的应用程序软件包。
  • /usr:用户目录。
  • /var:存放数据值内容。
  • /sys:把内核模块的设备信息和驱动信息导出到用户态,同时也可以通过用户态对设备进行配置。
  • /proc:表示内核的当前状态信息。