/usr 目录是应用程序主要存放的目录。该目录中的二进制文件对系统启动和维护并非必要,因此整个 /usr 目录结构常会被存放到另一个分离的文件系统中。因为其(通常)具有很大的容量,/usr 有其自己的子目录结构。在此,我们将介绍其中的几个:
/usr/X11R6:整个 X Window 系统 目录层次结构。X (包括 X 服务器)运行需要的全部二进制文件和库文件必须存放于此。/usr/X11R6/lib/X11 目录保存了关于 X 各个不同方面的配置,并且并不随计算机的不同而改变。某个计算机特定的配置位于 /etc/X11。
/usr/bin:包含了很大一部分的系统二进制文件。任何非系统维护必需的以及非系统管理程序一定位于该目录中。唯一的例外是您自己编译并安装的程序,而它们一定位于 /usr/local。
/usr/lib:包含运行 /usr/bin 和 /usr/sbin 中程序所必需的库文件。其中还有一个指向 /usr/X11R6/lib 的符号链接 /usr/lib/X11,如果安装了 X,则该目录中包含了 X Window 系统 的库文件。
/usr/local:这里是您安装您从源代码编译而来的应用程序的地方。安装程序应该会自动创建需要的目录结构。
/usr/share:该目录包含 /usr 中的应用程序需要的所有只读、与硬件架构无关的数据。其中包括时区和地区信息(zoneinfo 和 locale)。
/usr/share/doc 和 /usr/share/man 目录分别包括了应用程序的文档和系统手册页面。
/var:使用过程中可更改的数据
/var 目录包含所有系统上运行程序所操纵的数据。与 /tmp 中的工作数据不同,这些数据在重启动的时候不能更动。其中有许多子目录,某些是非常有用的:
/var/log:包含系统的日志文件,从中您可以找到您系统的问题(比如 /var/log/messages 和 /var/log/kernel/errors)。
/var/run:用以跟踪系统从启动以来使用的所有进程,并让您在更改系统运行级别的时候能够操纵它们。
/var/spool:包含系统中等待处理的工作文件。例如:/var/spool/cups 包含打印服务器的工作文件,而 /var/spool/mail 包含邮件服务器的工作文件(比如所有到达和离开您系统的邮件)。
/etc:配置文件
/etc 是 UNIX® 系统最基本的目录之一,因为它包含了全部特定主机的配置文件。决不要为了回收空间而删除它!同样,如果您想要将您的文件树结构拓展到几个分区时,请记住 /etc 一定不能放到一个另外的分区中。系统初始化需要它,因此它必须在启动时存放于根分区。
以下是其中的几个重要文件:
passwd 和 shadow:这些文本文件包含所有系统用户及其加密后的密码。只有当您使用 shadow 密码,您才会见到 shadow 文件。出于安全考虑,这是安装时的默认选项。
inittab:这是 init 的配置文件,而它在系统启动时扮演了一个十分重要的角色。
services:该文件保存了现有的网络服务。
profile:这是 shell 的配置文件。某些 shells 使用其他的文件,比如 bash 就使用 .bashrc。
crontab:cron (定期执行命令的程序)的配置文件。
某些需要大量配置文件的程序会将它们保存在某些子目录中。比如 X Window 系统 将其所有配置文件保存于 /etc/X11 目录中。
/usr文件系统
/usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下.这样可能在升级新版系统或新distribution时无须重新安装全部程序.
/usr/X11R6
X Window系统的所有文件.为简化X的开发和安装,X的文件没有集成到系统中. X自己在/usr/X11R6 下类似/usr .
/usr/X386
类似/usr/X11R6 ,但是给X11 Release 5的.
/usr/bin
几乎所有用户命令.有些命令在/bin 或/usr/local/bin 中.
/usr/sbin
根文件系统不必要的系统管理命令,例如多数服务程序.
/usr/man , /usr/info , /usr/doc
手册页、GNU信息文档和各种其他文档文件.
/usr/include
C编程语言的头文件.为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字.
/usr/lib
程序或子系统的不变的数据文件,包括一些site-wide配置文件.名字lib来源于库(library); 编程的原始库存在/usr/lib 里.
/usr/local
本地安装的软件和其他文件放在这里.
/var 包括系统一般运行时要改变的数据.每个系统是特定的,即不通过网络与其他计算机共享.
/var/catman
当要求格式化时的man页的cache.man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,存在/usr/man/cat* 中.而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了. (/var/catman 经常被清除,就象清除临时目录一样.)
/var/lib
系统正常运行时要改变的文件.
/var/local
/usr/local 中安装的程序的可变数据(即系统管理员安装的程序).注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock .
/var/lock
锁定文件.许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件.其他程序注意到这个锁定文件,将不试图使用这个设备或文件.
/var/log
各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.
/var/run
保存到下次引导前有效的关于系统的信息文件.例如, /var/run/utmp 包含当前登录的用户的信息.
/var/spool
mail, news, 打印队列和其他队列工作的目录.每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中.
/var/tmp
比/tmp 允许的大或需要存在较长时间的临时文件. (虽然系统管理员可能不允许/var/tmp 有很旧的文件.)