您的位置:首页 > 运维架构 > Linux

linux学习笔记-目录结构(1)

2017-05-10 19:25 369 查看
每个linux系统的目录结构差不多,因为有FHS(Filesystem Hierarchy Standard)标准的规范。

FHS的重点在于规范每个特定的目录下应该要放什么样的数据。

FHS依据文件系统使用的频繁与否是否允许用户随意改动,而将目录定义为四种交互作用的形态:

可分享的:可以分享给其他系统挂载使用的目录,包括执行文件和用户的邮件等数据。

不可分享的:自己机器上面运行的设备文件或者是与程序有关的socket文件等。

不变的:有些数据是不会经常变动的,例如函数库、文件说明文件、系统管理员所管理的主机服务配置文件等。

可变的:经常改变的数据,例如登录文件、新闻组等。

事实上,FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别是下面这三个目录的定义:

/:与开机系统有关

/usr:与软件安装/执行有关

/var:与系统运作过程有关。

1、根目录(/)的意义与内容

根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时,根目录也与开机、还原、系统修复等操作有关。

根目录不要放在非常大的分区内,因为越大的分区会放入越多的数据,有较多发生错误的可能。因此FHS标准建议:根目录所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在一个分区内。

FHS定义出根目录下面应该有下面这些子目录的存在:

/bin:放置在单用户维护模式下还能够被操作的命令。/bin下面的命令可以被root与一般账号所使用,主要有cat、chmod、chown、date等常用命令。

/boot:主要放置开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等。

/dev:任何设备与接口设备都是以文件的形式存在于这个目录当中。访问这个目录下的文件,相当于访问某个设备。

/etc:系统主要的配置文件几乎都放置在这个目录内。一般只有root有权修改。

/home:系统默认的用户主文件夹。~代表目前这个用户的主文件夹。

/lib:放置开机时会用到的函数库,以及在/bin或/sbin下面的命令调用的函数库。/lib/modules这个目录放置内核相关的模块(驱动程序)。

/media:可删除的设备,包括软盘、光盘等设备都暂时挂载于此。

/mnt:暂时挂载某些额外的设备。

/opt:第三方软件放置的目录。

/root:系统管理员的主文件夹。一般与根目录放置在同一个分区中。

/sbin:开机过程中所需要的,包括开机、修复、还原系统所需要的命令。

/srv:一些网络服务启动后,这些服务所需要取用的数据目录。

/tmp:临时文件目录,不要放重要数据。

以下几个也是非常重要的目录:

/lost+found:使用标准的ext2/ext3文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些丢失的片段放置在这个目录下。

/proc:一个虚拟文件系统,它放置的数据都是在内存当中,例如系统内核、进程、外部设备状态网络状态等,不占用任何硬盘空间。

/sys:类似于/proc,不占用硬盘空间。

注意:根目录与开机有关,开机过程中仅有根目录会被挂载,其他分区则是在开机完成之后才会持续进行挂载的行为。因为如此,根目录下与开机有关的目录就不能放置在不同的分区,有以下这些:

/etc:配置文件

/bin:重要执行文件

/dev:所需要的设备文件

/lib:执行文件所需的函数库与内核所需的模块

/sbin:重要的系统执行文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: