所有内容来自鸟哥私房菜
FHS标准的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。事实上,FHS针对目录树架构仅仅定义三层目录下面应该放置什么数据,分别是:
- /(root,根目录):与开机系统有关
- /usr(UNIX Software resource):与软件安装/执行有关
- /var:与系统运作过程有关
1.根目录的意义与内容
所有的目录由根目录延伸出来,同时根目录与开机、还原、系统修复等操作有关。根目录要放在尽可能小的分区内,因为越大的分区你放入的数据量越多,出错的可能性也就越大。
目录 |
应该放置文件内容 |
/bin |
/bin放置的是在单用户维护模式下还能够被操作的命令,主要有:cat, date, chmod, cp等等 |
/boot |
放置开机会使用的文件,包括Linux的内核文件以及开机菜单与开机配置 |
/dev |
设备文件 |
/etc |
系统主要配置文件,例如人员的账户密码文件,各种服务的起始文件 |
/home |
系统默认的用户主 |
/lib |
放置开机时会用到的函数库,以及/bin或者/sbin下命令会调用的函数库而已 |
/media |
软盘、光盘、DVD等设备暂时挂载于此 |
/mnt |
其他设备的挂载 |
/opt |
第三方软件(非原版的distribution提供的,例如KDE桌面管理系统)放置的目录 |
/root |
系统管理员(root)的主文件夹 |
/sbin |
放在/sbin下面的为开机过程所需要的,里面包括开机、修复、还原系统所需的命令,这些命令用来设置系统环境的只有root才能使用。 |
/srv |
一些网络服务启动后,需要取用的数据目录 |
/tmp |
一般用户或者正在执行的程序暂时放置文件的地方 |
/lost+found |
ext2/ext3文件系统格式产生的目录,目的在于当文件系统发生错误时,将一些丢失的片段放在该目录下 |
/proc |
目录的内容包括:系统内核、进程、外部设备的状态与网络状态等,放置的数据放在内存当中,不占用硬盘空间 |
/sys |
内容包括目前已经加载的内核模块与内核检测到的硬件信息,也是放在内存当中 |
2./usr的意义与内容
所有系统默认的软件都会放置在/usr下面,相当于C:\windows、与C:\Program files\.
目录 |
应该放置文件内容 |
/usr/X11R6 |
为X window系统重要数据放置目录 |
/usr/bin |
放置可执行的命令 |
/usr/include/ |
C/C++等程序语言的头文件与包含文件放置处 |
/usr/lib/ |
包括应用软件的函数库、目标文件,以及不被一般用户惯用的执行文件或者脚本 |
/usr/local/ |
自行安装自己下载的软件的安装目录 |
/usr/sbin/ |
系统命令但是与/sbin不同该命令与系统运行无关 |
/usr/share/ |
共享文件放置的地方 |
/usr/src/ |
源码放置的地方 |
3./var的意义与内容
/var目录主要针对常态性变动的文件,包括缓存、登录文件以及软件运行时产生的文件。
目录 |
应放置的文件 |
/var/cache/ |
应用程序本身运行过程中产生的暂存文件 |
/var/lib/ |
程序本身执行过程中,需要使用的数据文件放置的目录 |
/var/lock/ |
设备上锁 |
/var/log/ |
登录文件放置目录 |
/var/run/ |
有些程序运行后,会将PID放置在该目录 |
/var/spool/ |
排队等待其他程序使用的数据放置在该目录 |