Linux目录配置标准:FHS
FHS针对目录树架构仅定义出三层目录下面应该放置什么数据,分别为一下三种:
- / (root,根目录):与开机系统有关
- /usr (Unix software resource):与软件安装/执行有关
- /var (variable):与系统运作过程有关
根目录(/)的意义与内容
根目录是整个系统最重要的一个目录,因为不但所有目录都是由根目录衍生而来,而且根目录同时也与开机、还原、系统修复等操作有关。
根目录(/)所在分区越小越好,且应用程序所安装点的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。如此不能性能较好,而且根目录所在的文件系统也不容易发生问题。
目录 | 应放置文件内容 |
---|---|
/bin | 放置的是单用户维护模式下还能够被操作的命令,在/bin下的目录可以被root与一般账号所使用 |
/root | 主要放置开机会使用到的文件 |
/dev | 在Linux系统上,任何设备与接口设备都是以文件的形式存于目录当中,只要通过访问目录下某个文件,就等于访问某个设备 |
/etc | 系统主要的配置文件都放置在这个目录中,这个目录下的各文件属性是可以让一般用户查阅的,但是只有root有修改权利 |
/home | 系统默认的用户主文件夹,当你创建一个一般用户账号时,默认的用户主文件夹都会规范到这里来,有两种代号:~代表目前用户的主文件夹,~dtree代表dtree的主文件夹 |
/lib | 此目录下放置的为开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库而已 |
/opt | 第三方软件放置的目录,不过我们更习惯放置于/usr/local目录下 |
/root | 系统管理员的主文件夹 |
/sbin | Linux有许多命令是用来设置系统环境的,这些命令只有root才能够利用来“设置”系统,其他用户最多只能用来“查询”。放在/sbin下面的为开机过程所需要的,里面包括了开机、修复、还原系统所需要的命令 |
/tmp | 这是让一般用户或者是正在执行的程序暂时放置文件的地方,任何人都能够访问,需要定期清理 |
其中,有些目录是不能够与分目录分开的:
- /etc : 配制文件
- /bin : 重要执行文件
- /dev : 所需要的设备文件
- /lib : 执行文件所需的函数库与内核所需的模块
- /sbin : 重要的系统执行文件
/usr的意义与内容
usr的意思是Unix Software Resource(Unix操作系统软件资源)。
所有系统默认的软件(distribution发布者提供的软件)都会放置到/usr下面,有点类似于Windows系统的“C:\Windows\”和“C:\Program files\”这两个目录的综合体。
目录 | 应放置文件内容 |
---|---|
/usr/X11R6/ | 为X Window系统重要数据所放置的目录 |
/usr/bin/ | 绝大部分的用户可使用的命令都放在这里 |
/usr/include/ | C/C++等程序语言的头文件和包含文件放置处,当我们以tarball方式安装某些数据时,或使用到里头的许多包含文件 |
/usr/lib/ | 包含各应用软件的函数库、目标文件,以及不被一般用户惯用的执行文件或脚本 |
/usr/local/ | 系统管理员在本机自行安装自己下载的文件,建议安装到此目录,这样会便于管理,该目录下也是具有bin,etc,include,lib的子目录 |
/usr/sbin/ | 非系统正常运行所需要的系统命令 |
/usr/share/ | 放置共享文件的地方,在这个目录下放置的数据几乎都是文本文件,在此目录下和藏剑的还有以下这些子目录:/usr/share/man:在线帮助文件;/usr/share/doc:软件杂项的文件说明;/usr/share/zoneinfo:与时区有关的时区文件 |
/usr/src/ | 一般源码建议放到这里,src有source的意思。内核源码则建议放置到/usr/src/linux目录下 |
/var的意义与内容
如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存(cache),登录文件(log file)以及某些软件运行所产生的文件,包括程序文件,或者例如MySQL数据库文件等。
目录 | 应放置文件内容 |
---|---|
/var/cache/ | 应用程序本身运行过程中产生的一些暂存文件 |
/var/lock/ | 某些设备或者文件资源一次只能被一个应用程序所使用,如果有两个程序同时使用该设备时,就可能产生一些错误的情况,因此就得给该设备上锁(lock),以确保该设备只能被一个应用程序所使用 |
/var/log/ | 登录文件放置的目录 |
/var/mail/ | 放置个人电子邮件信箱的目录 |
/var/run/ | 某些程序或者服务启动后,会将它们的PID放置在这个目录下 |
/var/spool/ | 通常放置一些队列数据,这些数据被使用后通常都会被删除 |