Linux基础-15day-Linux系统目录结构

我是研究僧i 提交于 2021-01-29 22:57:59

Linux系统目录结构

1、目录介绍

当在使用Linux系统时,可通过ls–l/就会发现,在/下包涵很多的目录,而在这些目录中,依旧存在很多目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为树形结构。

文件系统是用来组织和排列文件存取的,在Linux中,我们可通过ls等工具来查看其结构,在Linux系统中,我们见到的全部都是树形结构。比如操作系统安装在一个文件系统中,它表现为由/起始的树形结构。linux文件系统的最顶端是/,我们称/为Linux的root,也就是Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者。Linux系统一切皆文件。

File system Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS针对目录树架构仅定义出三层目录底下应该放置什么数据而已,分别是:

1)/(root,根目录):与开机系统有关;

2)/usr(unix softwar eresource):与软件安装/执行有关;

3)/var(variable):与系统运作过程有关。

2、目录特点

1)/(根)是所有目录的顶点。

2)目录结构像一颗倒挂的树。

3)目录和磁盘分区,默认是没有关联的。

4)/(根)下不同的目录可能会对应不同的分区或磁盘。

5)所有的目录都是按照一定的类别和规律组成的。

3、目录说明

3.1/目录

根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关。由于系统开机时需要特定的开机软件、核心文件、开机所需程序、函式库等等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。因为根目录是这么的重要,所以在FHS的要求方面,它希望根目录不要放在非常大的分区,因为越大的分区内会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。

每一个文件和目录都从根开始。

3.2/bin目录

/bin存放二进制可执行命令的目录,在/bin下的指令可以被root与一般帐号所使用,主要有:cat,chmod(修改权限),chown,date,mv,mkdir,cp,bash等常用的指令。

3.3/sbin目录

用来存放二进制可执行文件,只是这里面的命令只供系统管理员,管理系统使用(root用户)。例如:iptables(防护墙)、ifconfig(查看网卡信息)、init(设置启动级别)等。

3.4/boot目录

主要放置开机会使用到的文件,包括Linux核心文件以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz,如果使用的是grub该开机管理程式,则还会存在/boot/grub/该目录。

3.5/dev目录

Linux系统上,把所有的硬件用文件的形式存储。比较重要的文件有/dev/null,/dev/zero,/dev/tty,/dev/lp*,/dev/hd*,/dev/sd*等。

3.6/etc目录

yum/rpm安装的软件配置文件所在的目录,系统主要的配置文档几乎都放置在该目录内,例如人员的帐号密码、各种服务的启动文件等。该目录下的各文件属性是可以让一般使用者查阅的,但是只有root有权力修改。

3.7/home目录

普通用户家目录(homedirectory),用来存放普通用户的文件

3.8/lib目录

存放二进制库文件,库文件一般以.so|lib*|ld*。

3.9/media目录

media是媒体的英文,顾名思义,该/media底下放置的就是可移除的设备。包括软碟、光碟、DVD等装置都暂时挂载于此。常见的档名有:/media/floppy,/media/cdrom等。

3.10/mn目录

一般用来临时挂载临时存储设备的目录。

3.11/opt目录

一般是给第三方厂家开发的程序的安装目录。现在一般不用。

3.12/root目录

系统管理员(root)的家目录。如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。

3.13/srv目录

srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。常见的服务例如WWW,FTP等。

3.14/tmp目录

临时文件存放的地方,由于该目录的权限为1777,所有用户对该目录都有可读可写可执行的权限,所以其他人也可以删除你的文件。

3.15/lost+found目录

该目录使用标准的ext2/ext3文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些遗失的片段放置到该目录下。该目录通常会在分割槽的最顶层存在,例如你加装一个硬盘于/disk中,那在该系统下就会自动产生一个这样的目录/disk/lost+found。

3.16/proc目录

该目录本身是一个虚拟文件系统(virtual file system)。它只存在内存当中,而不占用外部空间。它以文件系统的方式为访问系统内核数据的操作提供接口。

3.17/sys目录

该目录与/proc类似,也是一个虚拟的文件系统,主要也是记录与核心相关的信息。包括目前已载入的核心模组与核心侦测到的硬件信息等,该目录同样不占硬盘容量。

3.18/usr目录

该目录是集成到主文件系统中的单独文件系统的挂载点,用来存放系统数据,包含大量标准子目录。/usr目的是用来存放静态数据(不随时间改变的数据),没有系统管理员的干涉不会改变的数据。

3.19/usr/bin目录

绝大部分的用户可使用指令都放在这里。

3.20/usr/include目录

c/c++等程序语言的头文件(header)与包含文件(include)放置处。

3.21/usr/lib目录

包含各应用软件的函式库、目标文件(objectfile),以及不被一般使用者惯用的执行文件或脚本(script)。

3.22/usr/local目录

统管理员在本机自行安装自己下载的软件,建议安装到此目录。

3.23/usr/sbin目录

由超级用户运行的非基本系统管理程序。

3.24/usr/share目录

放置共享文件的目录。/usr/share/doc:软件杂项的文件说明;/usr/share/zoneinfo:与时区有关的时区文件。

3.25/usr/src目录

一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。

3.26/var

目录如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(logfile)以及某些软件运作所产生的文件,包括程序文件(lockfile,runfile),或者例如MySQL数据库的文件等。

3.27/var/cache目录

应用程序本身运作过程中会产生的一些缓存文件。

3.28/var/lib目录

程序本身执行的过程中,需要用到的数据文件存放目录。比如,MySQL的数据库放置到/var/lib/mysql/。

3.29/var/lock目录

某些配置或文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时,就可能产生一些错误,因此就要将该资源上锁(lock),以确保该资源只会给单一程序所使用。

3.30/var/log目录

这是登录文件放置的目录。主要存放日志等信息。

3.31/var/mail目录

放置个人电子邮件信箱的目录,不过该目录也被放置到/var/spool/mail/目录中,通常这两个目录是互为链接文件。

3.32/var/run目录

某些程序或者是服务启动后,会将它们的PID放置在该目录下。

3.33/var/spool目录

该目录通常放置一些队列数据,所谓的“队列”就是排队等待其它程序使用的数据。这些数据被使用后通常都会被删除。举例来说,系统收到邮件信息会放置到/var/spool/mail/中,但使用者收下该信件后该封信原则上就会被删除。信件如果暂时寄不出去会被放到/var/spool/mqueue/中,等到被送出后就被删除。如果是工作排程数据(crontab),就会被放置到/var/spool/cron/目录中。

 个人公众号:

image.png


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!