I want to be a complete engineer - technical genius and sensitive humanist all in one!

Tuesday, December 23, 2008

Linux文件系统层次结构标准

Linux和UNIX的文件系统是一个以“/ “为根的阶层式的树状文件结构,/ 因此被称为根目录。所有的文件和目录都置于根目录/ 之下。根目录/下面有/bin,/home,/usr等子目录。在早期的UNIX系统中,各个厂家各自定义了自己的UNIX系统的文件系统构成,比较混 乱。
 为了避免在Linux也产生同样的问题,在Linux面世不久,就开始了对Linux文件系统进行标准化的活动,于1994年推出了名为 FSSTND(Filesystem Standard)的Linux文件系统层次结构标准。之后,FSSTND标准吸引了UNIX社团的开发人员,他们把FSSTND扩大到UNIX系 统,FSSTND就变为FHS (Filesystem Hierarchy Standard)。2001年3月,FHS 2.2版本发布,2004年1月29日发行了最新版本2.3。

 FHS标准使得众多的Linux发布包有了可以遵循的标准,使得软件和用户可以预测已经安装了的文件和目录的位置。它定义了如下的内容。
 定义了文件系统中每个区域的用途
 定义了所需要的最小构成的文件和目录
 给出了例外处理和矛盾的特殊例子

目录内容和用途
/根目录
/bin一般用户使用的命令
/boot放置内核及LILO、GRUB等导引程序(bootloader)的文件,用于启动。
/dev硬盘,分区,键盘,鼠标,USB,tty等所有的设备文件都放在这个目录。
/etc系统的所有配置文件都存放在此目录中。
/home用户空间,所有的用户都是用此空间。
/lib共享连接库,如C库和C编译器等等。
/media挂接CD-ROM等设备的目录
/mnt移动设备文件系统的挂点
/opt存放后来追加的用户应用程序
/root管理员之家
/sbin存放系统管理所需要的命令
/tmp临时文件目录,重新启动时被清除
/usr存放只能读的命令和其他文件。
/usr/X11R6 X Window系统
/usr/bin 用户和管理员的标准命令
/usr/include c/c++等各种开发语言环境的标准include文件
/usr/lib 应用程序及程序包的连接库
/usr/local/ 系统管理员安装的应用程序目录
/usr/local/share 系统管理员安装的共享文件
/usr/sbin 用户和管理员的标准命令
/usr/share 存放使用手册等共享文件的目录
/usr/share/dict 存放词表的目录(选项)
/usr/share/man 系统使用手册
/usr/share/misc 一般数据
/usr/share/sgml SGML数据(选项)
/usr/share/xml XML数据(选项)
/var存放应用程序数据和日志记录的目录,例如,Apache Web服务器的文档一般就放在/var/www/html下。
/var/cache 应用程序缓存目录
/var/account 处理账号日志(选项)
/var/crash 系统错误信息(选项)
/var/games 游戏数据
/var/lib  各种状态数据
/var/lock 文件锁定纪录
/var/log 日志记录
/var/mail 电子邮件
/var/opt /opt目录的变量数据
/var/run 进程的标示数据
/var/spool 存放电子邮件,打印任务等的队列目录。
/var/spool/rwho 
/var/tmp 临时文件目录
/var/yp NIS等黄页数据(选项)


参考资料
FHS 2.3
http://www.pathname.com/fhs/

No comments:

Labels

Followers