Linux 目录配置
2017-03-24 本文已影响20人
zshanjun
Linux目录配置标准:FHS
FHS是指Filesystem Hierarchy Standard,主要目的是希望让用户可以了解到已安装软件通常放置于哪个目录下,所以其希望独立的软件开发商、操作系统制作者以及想要维护系统的用户,都能够遵循FHS的标准。
事实上,FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别是下面这三个目录的定义:
- /(root,根目录):跟开机系统有关
- /usr(UNIX software resource):与软件安装/执行有关
- /var(variable):与系统运作过程有关
根目录下一般存在以下子目录:
- /bin 放置的是单用户维护模式下还能被操作的命令
- /boot 放置开机会用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等
- /dev 任何设备与接口设备
- /etc 系统主要的配置文件几乎都放置在这个目录内。其中/etc/init.d所有服务的默认启动脚本都是放在这里的;/etc/xinetd.d这里就是所谓的super daemon管理的各项服务的配置文件目录;/etc/X11与X window有关的各种配置文件放在这里
- /home 这是系统默认的用户主文件夹
- /lib 放置的是开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库而已
- media 放置的是可删除的设备,包括光盘、DVD等设备
- /mnt 如果你想要暂时挂载某些额外的设备,一般建议放置在这个目录下
- /opt 这个是给第三方软件放置的目录。不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下
- /root 系统管理员的主文件夹
- /sbin 放在/sbin目录下面的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的命令
- /srv 可以视为service的缩写,是一些网络服务启动后,这些服务所需要取用的数据目录
- /tmp 这是让一般用户或者是正在执行的程序暂时放置文件的地方
FHS针对根目录所定义的标准就仅上面列举的目录,除此外,还有一些目录也要了解一下
- /lost+found 这个目录是使用标准的ext2/ext3文件格式系统才会产生的一个目录,目的在于文件系统发送错误时,将一些丢失的片段放置到这个目录下
- /prov 这个目录本身是一个虚拟的文件系统。它放置的数据都是在内存中,例如系统内核、进程、外部设备的状态以及网络状态等(本身不占任何磁盘空间)
- /sys 也是一个虚拟的文件系统,主要也是记录与内核相关的信息,包括目前已加载的内核模块和内核检测到的硬件设备信息(本身不占任何磁盘空间)
另外要注意的是,因为根目录与开机有关,开机过程中仅有根目录会被挂载,其他分区则是在开机完成后才会持续进行挂载的行为。就是因为如此,因此根目录下与开机行为有关的目录不能够与根目录放到不同分区去。包括/etc /bin /dev /lib /sbin。
/usr的意义与内容
因为所有的系统默认的软件都会放置到/usr下面,一般来说,里面包含:
- /usr/bin 绝大部分的用户可使用命令都放在这里
- usr/include C/C++等程序语言的头文件和包含文件放置处
- usr/lib 包含个应用软件的函数库、目标文件,以及不被一般用户惯用的执行文件或脚本
- /usr/local 系统管理员在本机执行安装自己下载的软件,建议安装到此目录
- /usr/sbin 非系统正常运行所需要额系统命令
- /usr/share 放置共享文件的地方
- usr/src 一般源码建议放置到这里
/var的意义和内容
/var目录主要针对常态性变动的文件,包括缓存、登录文件以及某些软件运行所产生的文件,包括程序文件或者MySQL的数据文件等。
- /var/cache 应用程序本身运行过程中会产生的一些暂存文件
- /var/lib 程序本身执行过程中,需要使用的数据文件放置的目录
- /var/lock 某些设备或者是文件资源只能被一个应用程序所使用,如果同时使用可能产生错误,因此要将该设备上锁
- /var/lob 这是登录文件放置的目录
- /var/mail 放置个人电子邮件的目录,不过这个目录也被放置在/var/spool/mail目录中,通常这两个目录互为连接文件
- /var/run 某些程序或服务启动后,会将它们的PID放置在这个目录下
- /var/spool 这个目录通常放置一些队列数据
以上内容可以下图表示:
\1.jpg参考书籍:
- 鸟哥的Linux私房菜