关于Linux目录的配置说明
大家都知道Linux一切皆文件,但是Linux的文件有那么多,目录也不少。他们都是干什么用的呢,有没有什么规律呢?今天我们就来讨论一下Linux目录的配置
Linux目录配置的依据FHS
因为使用Linux进行开发或者其他工作的个人或社区真的是太多了,如果每个人都按照自己的意愿来安排文件的存储位置以及软件的安装位置等肯定会乱套的。所以就有了Filesystem Hierarchy Standard(FHS)。也就是说,这是一个标准用于规定哪里应该放置什么样的文件。事实上,FHS针对目录树主要定义出了三个目录,它们分别是:
目录 | 用于 |
---|---|
/(root,根目录 | 与启动系统有关 |
/usr(unix software resource) | 与软件安装/执行有关 |
/var(variable) | 与系统运行过程有关 |
根目录是系统最重要的一个目录,因为不但所有的目录都是从根目录衍生出来,同时根目录也与系统启动、还原、系统修复等操作有关。所以FHS建议/所在分区应该越小越好。
具体有哪些目录
目录 | 应该放置的文件内容 |
---|---|
/bin | 系统有很多存放执行文件的目录,但/bin下的命令在单人维护模式下仍可执行。 |
/boot | 放置启动时会使用到的文件。包括Linux内核文件、启动选项以及启动所需的配置文件。 |
/dev | Linux中,所有的设备和接口文件均以文件形式存在于这个目录当中。在这里,你读写某个文件=读写某个设备。 |
/etc/ | 系统主要的配置文件几乎都放置在这个目录中。此目录下文件一般只有root才能修改。 |
/lib | 系统的函数库非常多,但/lib放置的是启动时会用到的函数库,以及在/bin或/sbin下命令会调用的函数库。 |
/media | 下面用于放置可删除的设备,比如说U盘、光盘等。 |
/mnt | 可以暂时用来挂载某些额外的设备,和media的功能差不多。 |
/opt | 这是给第三方辅助软件放置的目录。即非原发行版提供的软件。 |
/run | 系统启动后所产生的各项信息应该放置到本目录下。(以前放在/bar/run)。 |
/sbin | 用于放置启动过程所需要的,包括启动、修复、还原系统所需要的命令。 |
/srv | 可视为service的缩写。是一些网络服务启动之后,所需要使用的数据目录。比如常用的www、FTP等。 |
/tmp | 让一般用户或是正在执行的程序暂时放置文件的地方。该目录任何人都可读取。 |
/home | 系统默认的家目录(home directory),新增账号时,默认的用户家目录一般会规范到这里来。 |
/root | 系统管理员的家目录,root的家目录和根目录应该放置到同一个分区。 |
其他的一些分区
目录 | 应该放置的文件内容 |
---|---|
/lost+found | 这个目录是使用标准的ext2、ext3、ext4文件系统格式才会产生的目录。用于文件系统出错时,将一些遗失的片段放在这里。 |
/proc | 虚拟文件系统(virtual filesystem),它放置的数据都是在内存当中,本身不占用内存空间。 |
/sys | 也是虚拟文件系统,主要记录内核与系统硬件信息相关的内容。 |
/usr/bin | 一般用户使用的命令。Centos7已经将全部的用户命令放置于此,而且使用链接文件将/bin链接至此。 |
/usr/bin | 基本上与/lib功能相同,所以/lib就是链接至此目录的。 |
/usr/local | 系统管理员安装自己下载的软件建议安装在此目录。 |
/usr/sbin | 目前/sbin也是链接至此目录。 |
/usr/share | 主要放置只读的数据文件。 |
/usr/games | 与游戏相关的数据放置处。 |
/usr/include | C/C++等程序的头文件和包含文件放置处。 |
/usr/libexec | 某些不被一般用户常用的执行文件或脚本放置在此。 |
/var/cache | 应用程序本身运行产生的一些缓存。 |
var/lib | 程序本身运行所需要的数据文件。 |
var/lock | 某些设备或是文件资源一次只能被一个应用程序使用,使用时需要上锁。目前此目录已经挪到/run/lock。 |
var/log | 日志文件放置目录。 |
var/mail | 放置个人电子邮件的目录。和/var/spool/mail/互为链接文件。 |
var/run | 某些程序或服务启动后,将他们的PID放置在此目录。此目录与/run链接。 |
var/spool | 此目录放置队列数据(排队等待其他程序使用的数据) |
如果还想对目录配置有更深入的理解,可以挑战FHS官方英文文档。
End LINE