事实上,FHS针对目录树架构仅定义出三层目录下应该放置哪些数据,分别是下面三个目录:
一、/(根目录):与开机系统有关
根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一分区内,保持根目录越小越好。这样不但性能好,根目录所在文件系统也较不容易发生问题
/bin | 放置的是在单用户维护模式下还能够被操作的命令。一般用户使用的命令,如:cat,chmod,chown,mkdir,cp,bash等 |
---|---|
/boot | 放置内核及以及开机菜单与开机所需配置文件等,及LILO、GRUB等导引程序(bootloader)的文件 |
/dev |
在Linux系统上,任何设备与接口设备都以文件的形式存在于这个目录中,只要通过访问这个目录下面的某个文件,就等于访问某个设备, 如硬盘,分区,键盘,鼠标,USB,tty等所有的设备文件都放在这个目录。 |
/etc |
系统的所有配置文件都存放在此目录中。例如人员的账号密码文件、各种服务的起始文件等。 一般这个目录下的个文件属性可以让一般用户查阅,但只有root有权利修改 不要放置可执行文件在这个目录中 |
/home |
用户文件夹,所有的用户都是用此空间。 比较重要的是,主文件夹有两种代号: ~:代表目前这个用户的主文件夹 ~dmtsai:则代表dmtsai的主文件夹 |
/lib | 放置的是在开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库 |
/media | 放置的是可删除的设备。包括软盘、光盘、DVD等设备都暂时挂载于此;挂接CD-ROM等设备的目录 |
/mnt | 移动设备文件系统的挂点 |
/opt | 存放后来追加的用户应用程序 |
/root | 系统管理员的主文件夹 |
/sbin |
存放系统管理所需要的命令。放在/sbin下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需的命令 |
/srv |
可视为service的缩写,是一些网络服务启动后,这些服务所需要去用的数据目录。常见的服务如www,FTP等。 如WWW服务需要的网页数据就可以放置在/srv/www/里面 |
/tmp | 临时文件目录,重新启动时被清除。 |
另外还有:
/lost+found:这个目录是使用标准的ext2/ext3文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些丢失的片段放置到这个目录下。这个目录通常会在分区的最顶层存在。
/proc:这个目录本身是一个虚拟文件系统。它放置的数据都是在内存中,如系统内核、进程(process)、外部设备的状态及网络状态等。因为这个目录下的数据都是在内存中,所以本身不占任何内存
/sys:也是一个虚拟文件系统,主要也是记录与内核相关的信息。包括目前已加载的内核模块与内核检测到的硬件设备信息等。这个目录同样不占硬盘容量
不可与根目录分开的目录:
/etc:配置文件
/bin:重要执行文件
/dev:所需要的设备文件
/lib:执行文件所需的函数库与内核所需模板
/sbin:重要的系统执行文件
二、/usr(unix software resource):与软件安装执行有关,里面放置的数据属于可分享的与不可变动的;
UNIX Software Resource(UNIX操作系统软件资源)的缩写,系统默认软件都会放置到/usr下面,建议软件开发者应该将他们的数据合理地分别放置到这个目录下的子目录。这个目录会占最多的硬盘容量
三、/var(variable):与系统运作过程有关。
/var在系统运行后才会渐渐占用硬盘容量的目录。/va目录主要针对常态性变动的文件,包括缓存(cache)、登录文件及某些软件运行所产生的文件,如:程序文件、MySQL数据库的文件等