文件系统层级结构标准
文件系统层次结构标准(英语:Filesystem Hierarchy Standard,FHS)定义了Linux操作系统中的主要目录及目录内容。在大多数情况下,它是一个传统BSD文件系统层次结构的形式化与扩充。
FHS由Linux基金会维护,这是一个由主要软件或硬件供应商组成的非营利组织,例如HP、Red Hat、IBM、和Dell。
当前的版本是2.3,在2004年1月29日公布。
历史:
开发一套文件系统层次结构标准的进程始于1993年8月,标准努力重整Linux的文件和目录结构。FSSTND (英文Filesystem Standard),一个针对Linux操作系统的文件系统层次结构标准在1994年2月14日发布。 后续的修正版本分别在1994年10月9日和1995年3月28日发布。
在1996年初, 开发一个更加全面的、不仅解决Linux,而且解决其他类Unix系统目录层次结构问题的FSSTND的计划在BSD开发社区成员的协助下正式被采纳。因此,计划重点解决在类Unix系统上普遍存在的问题。 为了适应标准范围的扩充,标准的名称修改为文件系统层次结构标准。
目录结构:
在FHS中,所有的文件和目录都出现在根目录"/"下,即使他们存储在不同的物理设备中。但是请注意,这些目录中的一些可能或可能不会在Unix系统上出现,这取决于系统是否含有某些子系统,例如 X Window系统 的安装与否。
这些目录中的绝大多数都在所有的UNIX操作系统中存在,并且一般都以大致类似的方法使用;然而,这里的描述是针对于FHS的,并未考虑除了Linux平台以外的权威性。
/:
初级层次的根和根目录整个文件系统层次结构
/bin:
所有用户可用的基本命令程序文件。(可执行文件)例如:cat,ls,cp。
/sbin:
供系统管理使用的工具程序文件。(可执行文件)例如:init,ip,mount。
/boot:
引导加载器必须用到的各静态文件,例如:kernel,initramfs(initrd),grub等。
/dev:
存储特殊文件或设备文件。例如:/dev/null。
设备有两种类型:字符设备(线性设备)
块设备(随即设备)
/etc:
系统程序的配置文件,只能为静态的文件。
/etc/opt:/opt/的配置文件。
/etc/X11:X windos(版本11)的配置文件。
/etc/sgml:SGML的配置文件。
/etc/xml:XML的配置文件。
/home:
普通用户的家目录的集中位置;(一般每个普通用户的家目录默认为此目录与用户名同名的目录,/home/username),一般单独分区。
/lib:
为系统启动或根文件系统上的应用程序(/bin,/snin等)提供共享库,以及为内核提供内核模块。
libc.so.*: 动态链接的C库。
ld*: 运行时链接器/加载器。
modules:用于存储内核模块的目录。
/lib64:
64位系统特有的存放共享库的路径。
/media:
便携设式备挂载点,cdrom,floppy等。
/mnt:
其他文件系统的临时挂载点。
/opt:
附加应用程序的安装位置。
/root:
管理员的家目录。
/srv:
当前主机为服务提供的数据。
/tmp:
Temporary file ,为那些会产生临时文件的程序提供的用于存储临时文件的目录。可供所有用户执行写入操作;有特殊权限。在系统重启时目录文件不会被保留。
/usr:
Usr Hierarchy,全局共享的只读数据路径,包含绝大多数用户工具和应用程序。
/usr/bin:非必要可执行文件(在单用户中不需要);面向所有用户。
/usr/sbin:非必要二进制可执行文件。
/usr/lib:/usr/bin/和/usr/sbin/中二进制文件的共享库。
/usr/lib64:64位系统特有的存放共享库的路径。
/usr/include:c程序头文件。
/usr/share;命令手册页和自带文档等架构特有的文件的存储位置。
/usr/local: Local Hierarchy 系统管理员安装本地应用程序,也是常用与安装第三方程序。
/usr/xllR6:X window程序的安装位置。
/usr/src:程序源码文件的存储位置。
/var:
存储常发生变化的数据的目录。变量文件如:日志,脱机文件和临时电子邮件
/var/cache:应用程序缓存数据
/var/lib:状态信息。由程序在运行时维护的持久性文件
/var/lock:锁文件。一类跟踪当前使用资源的文件
/var/log:日志文件
/var/spool:等待处理的任务的文件,例如打印队列和未读邮件
/var/tmp:在系统重启过程中可以保留的临时文件。
/var/run:自最后一次启动以来运行中的系统信息,现已被/run替代
/proc:
虚拟文件系统,用于内核及进程存储其相关信息;它们多为内核参数。
/sys:
Sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理linux设备提供了一种统一模型的借口。
/run:
运行时间变量数据。
自最后一次启动以来运行中的系统信息。替代/var/run.
小结:
尽管LINUX有诸多的发行版,但是所有的版本都遵从同样的文件目录层次结构,即FHS(Filesystem Hierarchy Standard)。有了这个统一的标准,我们在使用不同版本的LINUX时就不会由于版本的不同而找不到相关系统文件的位置,了解FHS有助于我们更好的掌握LINUX的基础构架和文件系统管理。
原创文章,作者:征(_少,如若转载,请注明出处:http://www.178linux.com/52136