Linux帮组栏

Linux系统目录结构与重要文件

Linux · 1月10日 · 2020年

大家熟悉 widows以及widows的目录结构,下图是Linux与Windows的目录结构对比,帮组读者快速的理解Linux系统的目录结构,下图我们在上一章中提到的。

windwos目录形式为c:\winwos\,当然还有d,e盘的目录结构,路径分隔是“\”(反斜线),Linux目录形式为/etc/hosts,路径分隔符为“/”(斜线),Linux系统一切目录的其实点从“/”根开始。

  • linux系统目录结构基本特点

和Windows下目录结构相比,可能读者在初次接触Linux的时候,往往会觉得Linux的目录结构比较复杂,没有widows视窗那样简单明了的展示,从而感到觉迷茫。

其实,Linux系统的目录结构同样是很简单的,只是Linux系统应该场景多为服务器应用且为字符界面应用,并不像Windows系统视窗那样直观展示,但是,Linux的系统的目录结构确是很由规律性组织的,Linux目录结构最形象的比喻是下面这张图。

从这张图中我们可以得出Linux系统目录结构的一些基本特点:

1、一切从“根”开始,”/”是所有的目录的起点(顶点)。

2、Linux根下面的目录是一个有层次的树状结构。

3、酷似一颗倒挂着的树根。

除此之外,widows系统目录和磁盘是强对应的,联系很紧密,例如C盘下的目录文件不可能和D盘的目录有关联或者交集,而Linux系统目录在这点是不同的。Linux系统的目录和磁盘等设备是不直接关联的,每个目录都可以关联(挂载)在不同的设备上,例如:看是有包含关系的几个目录/ /etc /boot /var都可能是不同的分区或磁盘。

在逻辑上,所有的目录(包括目录下的子目录)都在最高级别的目录”/“下,根”/”目录是所有目录的起始点(顶点),而实际上访问目录/、/etc、/boot、/var时,可能在访问完全不同的分区和磁盘
下图是Linux目录结构和设备挂载关系图。

Linux下设备磁盘,如果不挂载是看不到入口的,就像没有窗没门的监狱,是不能被正常使用的。
如果要设备被访问就必须为设备开一个入口,这个入口就是挂载点,挂载点实质就是一个目录,开入口的过程,就是将挂载点和磁盘设备关联,即挂载。

  • linux目录结构特点小结

  • Linux系统的所有目录是一个层次的倒着的树状目录结构(倒挂树状形结构),“/”根是所有目录的顶点,Linux目录的一切从根开始。
  • 不同目录下的数据可以跨越不同的磁盘分区或不同的磁盘设备,设备可以随意挂载任意目录上使用。
  • 所有的目录都是按照一定的类别有规律的组织和命名的。
  • 没有挂载到目录上的磁盘,相当于没有门和窗户的监狱,不能被使用。磁盘等设备都需要挂载才你能正常使用。
  • 挂载点是磁盘访问的入口,是一个目录。
  • 树对路径与决定路径:

相对路径:相对于非“/”路径的路径,即路径开头没有“/”斜线,例如etc 。

绝对路径:从根为起始点的路径,例如:/tmp 。

  • 根目录结构详解

对于一个Linux学者来说,都有必要花时间掌握Linux系统的目录结构知识。
当我们使用linux系统的时候,如果执行“ls -l /” 命令会发现,在/下包涵很多的目录内容,比如etc,usr,var,bin …等目录,而在这些目录里面,还会有更多的目录或文件。
他们就像一个树状的结构。
Linux系统的目录结构最顶端“/”,我们称为/为根目录,根(/)目录是Linux系统所有目录的起始点,所有目录、文件、设备都在“/”之下,根(/)目录下的目录是一个树状结构
,可以这么说,“/”就是Linux文件系统的组织者、领导者,通过tree命令,可以查看Linux的上以级目录结构。

[root@localhost ~]# tree -L 1 /
/
├── bin   普通用户家目录
├── boot  系统引导程序目录
├── dev   设备文件目录
├── etc   软件配置和启动程序目录
├── home   普通用户的家目录
├── lib    库文件目录(命令 软件)
├── lib64  64位操作系统库文件目录(命令 软件)
├── mnt    设备临时挂载目录
├── opt    可选项的,第三方目录
├── proc   记录操作系统进程和内核信息的目录
├── root   超级管理员的家目录
├── sbin   超级管理员命令存放目录
├── tmp    回收站,临时文件目录
├── usr    用户或软件应用程序目录
├──selinux 系统安全目录
└── var    日志文件存放目录

 

  • Linux目录层级详细表介绍

目录结构 用途说明
/bin 该目录为binaries英文缩写,是常用二进制命令所在的目录。比如ls、cp、mkdir、rm等命令;/bin/目录和/usr/bin类似。
/boot Linux的内核级系统引导程序所需的文件目录。安装系统分区的时候一般要单独分一个boot分区,大小可为128-256M,该分区数据增长很小。
/dev Device files设备文件的目录,比如声卡、磁盘、光驱
/etc 1、二进制软件安装包(yum/rpm)等的配置文件默认路径,例如/etc/exports、/etc/fstab、/etc/resolv.conf

2、服务启动命令存放在的目录,主要在/etc/init.d/下。例如:/etc/init.d/sshd、/etc/init.d/iptables

/home 普通用户的家目录默认数据存放目录
/lib 英文libraries的缩写启动系统和运行命令所需的共享库文件和内核模块存放目录,例如/bin 和/sbin下的一些命令,分为/lib 和lib64(64位程序)两种
/lost+found 在ext3文件系统中,当系统意外崩溃或机器意外关机,会产生一些文件碎片在这里。当系统在开机启动过程中fsck工具会检查这里,并且修复以及损坏的文件系统。当系统发送问题,可能会有文件被移动到这个目录中,可能需要手工的方式来修复,或移动文件到原来的位置上。
/mnt 英文mount point的缩写一般是用于临时挂载存储设备的挂载点,比如有cdrom ,u盘等启动目录,直接插入光驱无法使用,要先挂载后使用,在前文以及讲过有关挂载和挂载点的概念,如有需要,读者可以会看。
/opt 英文option的缩写表示的是可选择的意见,有些软件包也会被安装在这里,也就是自定义软件包,我们自己编辑的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过./configure –prefix=/opt目录,非必须这样,是习惯或规范而定。
/proc 操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里,/proc目录是虚拟文件系统的挂载点,proc并不是真正的文件系统,它的定义可以参见/etc/fstab。系统运行很多信息都在这个目录下。

例如:

/proc/loadavg 系统负载系统繁忙程度

/proc/meminfo 系统内存信息

/proc/cpuinfo   系统cpu信息

/proc/mounts   系统挂载信息

/root Linux超级管理员用户root的家目录;root类似win32管理员administrator
/sbin 英文system binaries的缩写:大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,这个目录和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目录是相似的;系统级命令,一般最好要通过sudo让普通用户执行这些命令,常见命令有fdisk reboot fsck halt.
/tmp 英文Temporary files的缩写:临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的,权限比较特殊。/var/tmp目录和这个目录相似,这个目录可以被用作Linux系统的回收站使用。
/usr 英文解释第二层次标准:这个是系统存放程序的目录,比如命令、帮组文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。/usr一般被认为是user resource或unix software resource的缩写,目录用途角度,都说得通,但是FHS里没有找到二者的相关信息。它下面有两个重要子目录应用:

/usr/local 默认软件安装目录

/usr/src:程序源码目录

/var 英文Variable data的缩写 这个目录的内容是经常变动的,看名字就知道,我们可以理解位vary的缩写,/var 下有/var/log这是用来存放系统日志的目录,系统日志路径/var/log/messages。/var/www目录是定义Apache服务器站点存放目录;/var/lib用来存放一些文件,比如MySQL的以及MySQL数据库的存放地;

 

0 条回应