Linux入门教程:P3->Linux文件系统

本系列文章为尚硅谷武晟然老师的Linux入门教程学习笔记


注:关于Linux操作系统的介绍和Centos7的安装过程暂未记录,后续有空进行补充。



一、文件系统和挂载点

思考

我们现在对Linux的基本操作有所了解了,但是我们会想,我们学习Linux是想对系统有所了解,但现在我们能看到的东西好像太少了。在这个主文件夹里面,我们看到就这么几个文件和目录,而且我们还知道都是用户相关的数据和文件,那显然一开始里边什么都没有。那我们想学习的操作系统,它的内容到底在哪儿呢?我们到哪里去找呢?
在这里插入图片描述
回答: 如果在图形化界面里的话,我们可以到位置下边,点开看到有一个计算机,点击之后就会出现当前电脑上系统里边的所有目录、所有文件了。因为我们现在是超级管理员(root用户),所以什么都能看到,这里面显然就复杂多了。
在这里插入图片描述
这里我们可以看到Linux与Windows的文件系统最大的一个区别就是没有盘符。Windows里边点开我的电脑,首先我们看到的应该就是C盘、D盘、E盘之类的,而Linux里面全都是文件夹。


Linux的文件系统及整个目录结构的设置

Linux里边这些目录叫什么名都是有原因、有标准的,所以Linux发行版本可能五花八门,但是它的目录结构基本都一样,这也是Linux比较有特点的一个地方。之前在安装CentOS的时候就已经知道,Linux对文件的管理其实就是一个单一的树状目录结构。也就是说,如果我们把所有文件、文件夹的组织关系都统一列出来的话,我们发现画出来就是一棵树。在Windows里,因为有不同的盘符,则一个盘符对应一棵树,画出来就是森林。
在这里插入图片描述
根目录: 在Linux里面,这颗目录树只有一个树根,也就是一个斜杠/,我们把它叫做Linux的根目录。我们当时在做硬盘分区的时候,这个根目录对应的就是根分区了。Linux里边的所有文件都会分门别类的按照不同的文件夹放在根目录下边,对应的相当于就叉出了很多个不同的树枝,每一个树枝对应着一个文件夹。这样层层嵌套,当前的整个目录结构就构成了一个层级式的目录结构,也就对应着一层一层树的展开。
路径表述: 在Linux系统里边,整个路径的表述是以斜杠/来进行划分的。这跟Windows里面不一样,Windows里面的路径是以反斜杠\来划分的。Windows的路径其实是有问题的,因为在底层做字符编码的时候啊,ASCII码中的反斜杠是用来表示转义字符的。所以在Windows里面要表示反斜杠这个字符,就需要把它再做一个转义,即两个反斜杠。


挂载

①在前面安装CentOS时,我们首先对硬盘要进行了分区,分成了引导区、交换区等区域。
②接着我们要指定当前硬盘分区的文件系统格式,CentOS7默认的是XFS 64位高性能日志文件,它非常特别擅长处理大文件。
③确定了这个文件格式之后还得确定挂载点。
----当前Linux把所有的目录结构都放到了根目录下边,根目录正常情况对应着根分区,但是它并不是说下面的所有内容就一定要放在根分区那块硬盘空间里面。假如我们想在不同的分区放不同的内容,那就需要单独去设置挂载点。比如当时我们进行安装CentOS时候,先去划了一块引导分区,我们希望把Linux在启动的过程中核心的一些引导文件放到这个单独的分区里边来。我们就把它的文件格式先设置好之后,命名为分区一(引导分区),然后直接挂载到boot目录下面去,这样的话就跟后面的内容全部都隔离开了。
----剩下的最大的这一块我们通通挂载到了根目录下边,就相当于除了boot目录下面的所有内容放在分区一,其他所有内容都会放到分区二,也就是我们所说的根分区这里。
----假如说我现在又有新的需求,比方说我有一个新的用户添加进来了,然后这个用户的所有的内容需要放在某个目录下边,我希望把这个目录单独隔离出来,放在一个单独的硬盘上面。于是我们把这一块硬盘先做一个分区,命名为分区三,指定它的文件格式为XFS,然后在home目录下边新建一个对应的要放置我所有文件的这个目录 。我随便举个例子,比方说就叫a,接下来把这个分区三挂载到a这个目录下面。那么接下来这个目录里边的所有东西都会写到我们这一块儿新的硬盘上。
在这里插入图片描述
结论: 我们会发现在上述过程当中,Linux里边的目录结构好像跟底层的物理存放没什么关系。并不是说在一个目录下边的文件之间就会离得近一点,不同目录间的文件离得远一点。我们的目录结构其实是一个逻辑上的组织关系,而具体在硬盘上存在哪儿,我们是通过一开始的分区和挂载点就可以配制出他们之间的映射关系了。所以就是我们一次把这个硬件都配好了之后,接下来就不考虑它到底存在哪儿了,只要了解他的这个逻辑结构就可以。所以有时候又会把Linux的这种目录叫做虚拟目录,因为它并不是真正意义上分区文件的一个存放方式。


二、目录结构

根目录结构

我们打开一个终端,当前我们的目录是一个波浪线,它表示的是当前用户的主目录
在这里插入图片描述
我们通过cd /直接跳到根目录下面去。cd就是change directory,表示切换路径,Windows里面也有这个命令。接下来用ls命令看一下根目录下边到底有哪些文件夹。
在这里插入图片描述
我们可以发现这两种方式都是展示出根目录下的目录结构


bin、sbin

bin
bin其实是binary的前三个字母,也就是二进制码。二进制就相当于是可以直接执行的机器码,所以这个目录里边存放的是机器直接可以执行的常用命令啊,比如说我们看到这里就有前面执行过的cd命令。
在这里插入图片描述
如果往后找,我们还会看到ls命令。
在这里插入图片描述
这里有一个小的细节需要注意,bin目录有一个朝外的小箭头。这表示这个bin目录并不是直接放在当前的根目录下边的。实际上它在usr/bin这里,即它指向的是usr目录下的bin目录。我们会发现跟里边的内容完全一样,所以它就像Windows里边的超链接,一个快捷方式一样。
在这里插入图片描述
sbin
s是system,所以这是系统级的二进制命令目录,这里边存放的一般是系统管理员(超级用户)能够使用的一些系统管理工具了。我们当前的发行版叫GNU/Linux,这些其实就是GNU这个开源项目给我们直接提供的一些用户级的工具,有些可能是普通用户都可以用的,有些是只有管理员才可以用的。当然了,这个sbin目录下边也有一个箭头,它也链接到usr下边的目录。
在这里插入图片描述


lib、lib64

lib
lib就是library的前三个字母,所以这就是一个库目录,主要是用来放系统和应用程序所需要的一些共享库文件,类似于Windows里面的dll(动态链接库文件)。对应的,lib目录可以等同于Windows中C盘下面的system32,在那个目录下边有非常多的dll文件。假如说把其中一些文件删除的话,那有可能系统整个就崩了,就直接启动不起来了。
在这里插入图片描述
lib64
lib64下存放的就是64位相关的一些比较特殊的一些库文件。lib64与lib的关系就像Windows里边的system和system32。
在这里插入图片描述
lib和lib64也是链接,又链接到usr下面。
在这里插入图片描述


usr

usr目录包含了用户所有的应用程序和所需要的文件数据,它包含了bin、sbin、lib、lib64等文件,Linux把所有用户级别的东西全放到这里来了,不同的Linux发行版可能对具体的内容的设置会有所不同。
在这里插入图片描述
我们看到这儿有一个user local。local就是本地,存放用户本地的一些应用程序和相关的文件数据。这个local下边还有一个bin和lib目录,代表这里边还会有大量的内容是当前针对这个用户可以去单独执行的一些东西。
在这里插入图片描述


boot

boot目录很明显就是之前我们挂载的那个引导分区里边存放的一些东西。这个目录非常的重要,里边是单独划分了一个分区的。我们看他其实并不大,就是引导启动系统时所需要的一些核心文件,包括一些链接文件以及镜像文件。如果我们想要写自己的用户数据的话,千万不要写到这儿来。
在这里插入图片描述


dev

dev是device的前三个字母,所以它是一个设备目录,管理我们所有设备的。设备怎么去管理呢?我们可以点进去看一眼,发现真的是把所有的硬件设备映射到不同的目录不同的文件上去,比如我们这里有cpu,硬盘disk、总线bus…
在这里插入图片描述
我们进入cpu文件夹,发现这里面又分了01234567共8个文件夹。为什么有八个呢?这是因为我们在一开始做虚拟机配置的时候,分配有两个cpu,每个cpu有四个内核,所以当前的逻辑核心一共是8个。所以每一个对应的核心都有一个目录来进行管理,里边有对应的文件。这也满足Linux中一切皆文件的理念,所有的硬件都能在dev中找到对应的映射。


etc

etc目录主要放置的是一些系统管理所需要的配置文件和对应的一些子目录。例如,有时候你的一些数据库安装完成之后,对应的配置文件就放到这儿来。
在这里插入图片描述


home、root

home就是家的意思,其实在Linux中,每一个用户都有一个自己的主目录,存放着与自己相关的一些个性化的数据文件。这个home下边不会有root的主文件夹,都是普通用户的文件夹。我们当前只有一个普通用户叫xzz,那这个里边当然就只有一个xzz文件夹了。如果我们多创建几个用户,那对应的就会每一个用户都出现一个相应的文件夹放在那里。
在这里插入图片描述
那root用户的主目录在哪里呢?就在root文件夹中。
在这里插入图片描述


opt

opt是optional的前三个字母,也就是可选目录。可选目录也就是说可有可无,所以这其实就是Linux系统给第三方软件包专门留下的位置。即假如想要额外安装一些软件的话,那约定俗成把那些东西全部都装到这里来。
在这里插入图片描述


media、mnt

media就是媒体,主要用来识别一些可移动的媒体设备,如U盘、光驱等。这些设备识别之后,它相当于是一个外部存储了,将他么默认挂载到media目录下面。所以media相当于就是一个可移动媒体设备的挂载点。
在这里插入图片描述
跟他并列的另外还有一个mnt目录,这是mount的一个缩写,也是一个挂载目录,可以认为是另外一个media,它跟media基本上差不多。
在这里插入图片描述


proc

proc是process的前四个字母,所以说proc是一个进程目录。这是一个虚拟的目录啊,相当于是系统内存里边进程的一个映射,它存放的就是现有的一些硬件和当前进程的一些信息。所以这个目录对于系统来讲是非常重要的,但是对于我们一般用户来讲,你不要动就好了
在这里插入图片描述


run

run目录跟process目录有点像,但是它又不太一样啊。run目录是一个运行目录,存放的是当前系统运行以来的所有实时信息,其实是一个临时的文件系统,重启之后它就被干掉了,所以这个东西其实没有那么重要。
在这里插入图片描述


srv

srv是service的一个缩写。src存放的就是跟系统服务相关的一些东西,那对应的这些东西我们也不应该删。假如说你删了之后,本地服务肯定跑不起来了。
在这里插入图片描述


sys

很显然这是system的缩写,所以它存放的是系统硬件信息的相关文件,这里面的东西都不能动。
在这里插入图片描述


tmp

tmp就是temporary的一个缩写,所以这是临时目录,只是临时存放下东西。
在这里插入图片描述


var

var是variable的前三个字母,对应的就是一个可变目录。这个目录里边一般就会存放一些不断会扩充会变化的东西,经常被修改的那些东西都放到这个目录下面来,所以这里一般放各种各样的日志。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知初与修一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值