00:00
我们现在已经对Linux下边的文件系统结构有了一个初步的了解,那其实我们通过这张图可以看得出来,那根目录下边。所有的这些目录结构看起来就像我们之前。在Linux系统里边,打开计算机看到的这些目录是差不多的,那他们是不是就是一回事呢?这里我们可以做一个验证,因为光看这个图的话没有什么说服力啊,那所以接下来呢,我们还是打开一个终端。我们可以直接跳到根目录下边去,诶当前我们的目录是这个一一个波浪线的话,它表示的是当前root用户的主目录嘛,那所以接下来我们要切换到根目录,这里要用到一个命令CD啊,那我们知道这个Windows里边也有这个命令啊啊CD就是change directory就是切换路径,那我们切换到哪里去呢?后面跟上要切换到的路径。就是一个斜线斜杠,这就表示分目录,好,我们看现在已经切换过来了。
01:04
那切换过来之后,接下来我们又可以用之前LS这个命令list看一下跟目录下边到底有哪些文件夹,诶我们看一下这个确实好像跟我们看到的这些是一样的。并boot d ETC home leap,然后这里我们看到也是并boot de为ETC home Le,所以我们会发现啊,所谓的计算机就是类似于我的电脑这个东西打开之后的所有文件,其实就是根目录下边的所有文件夹。啊,那接下来我们要考虑的就是它的这一个文件夹,它是有规律的吗?还是说我随便给什么名字,把什么东西放在这儿都可以呢?这个我们要注意一下,在Windows里面可能没有这个要求,就是哪怕是C盘,尽管我们一般都说啊,有人会提示说啊,千万不要动C盘里面的东西啊,但是其实我们熟了之后,那往往很多东西也会往C盘里边塞。
02:01
那这里边Linux里边我们是不是也是随便怎么动都可以呢?哎,当然我们是系统超级管理员嘛,Root理论上你怎么动都可以,但是Linux本身的。每一个目录命名都是有规范的。啊,就是这些目录名,它其实本身是基于一个所谓的文件系统层级标准定义出来的,啊,这个这个所谓的文件层级,文件系统层级标准是从unix那边继承过来,然后演变发展出来的,也就是说文件系统里边。根目录下都是一些通用的目录名称,每一个目录对应的一个常见的功能啊,所有的类似的东西啊,就都分门别类的放到这个目录下边就对了啊,当然了,你也可以乱放,但是这个就显然不符合Linux设计的初衷了。所以接下来我们的关键点就得知道当前的每一个目录到底是用来干啥的好,而且Linux有一个好处,就是我们现在学习的是3TO3TOS7啊,那假如说你把这个文件系统搞明白了之后,你会发现几乎所有的linknux发行版啊,你去用乌班图,你去用苏sa啊,你去用fedora,你会发现。
03:18
这里边根目录下边的结构都差不多啊,基本上都一样,所以这个其实是完全通用的。接下来我们就来做一个详细说明吧,啊,每一个来说一说它到底干什么?首先是一个并目录,第一个bin并,那并呢,其实是binary的前三个字母,Binary大家知道就是那个二进制嘛,所以这是一个二进制目录,二进制当然就相当于是可以直接执行的机器码了,所以这个目录里边存放的是。直接可以执行的常用命令,比如说我们可以往下拖一拖,看一看。我们可以找一找,下边就能看到,哎,我们看到这里就有前面我们执行过的CD命令,切换目录的命令啊,那那如果往后找的话,肯定我们还会看到。
04:09
LS命令,哎,我们直接列出当前目录下所有目录所有文件的这个命令,哎,常用的命令其实在这里都可以找得到,哎,这就是并目录,我们把它认为就是一个二进制的命令目录,这里有一个小小的细节大家需要注意啊,就这里的并,我们发现它是有一个朝外的小箭头的,好像跟这个普通的文件夹有点不一样,这表示什么意思呢?哎,这表示这个并目录啊,它其实并不是直接放在当前的根目录下边的。哎,那这是为什么呢?明明看到它就在这里啊啊,它的实际逻辑位置我们可以看一下属性。我们看到它本身是一个,它不是文件夹,它是一个文件夹的链接。它实际的目标是,也就是说实际指向的是哪里呢?是user b,也就是它指向的是user,就是USR,是user的一个简写,它指向的是user这个目录下边的并目录。
05:11
如果我们追进去的话,就会发现user在这儿呢,啊,User下面果然也有一个病。进去看诶,我们会发现跟里边的内容是完全一样的啊,所以这个链接,这就像Windows里边的超链接啊,一个快捷方式一样啊,我们当前在根目录下面存放的。这个病其实只是一个链接而已。啊,那当然了,我们也把它认为是当前文件系统里面的一部分啊。啊,那跟它很相似的,另外还有一个就是SBS,看起来就比这个bary,它应该也是命令了啊,就比它多了一个S,那是那是什么意思呢?S是system,好system系统,所以这是系统级的二进制命令目录,这里边存放的呢,一般就是系统管理员啊,就超级用户。
06:02
能够使用的一些系统管理工具了。啊,所以本质上来讲这个病和S病啊,它其实就是我们当前这个发行版不是叫g nu Linux吗?啊叫Lu Linux,那这个其实就是Lu这个开源项目给我们直接提供的一些用户级的工具啊,有些可能是普通用户都可以用的,有些是只有。管理员才可以用啊,这就是他们区别啊,那当然了,这个目录下边它也有一个箭头,所以我们会发现它也是一个链接,那同样它链接到哪去了呢?也是user下边的目录。啊,那那所以我们就会发现这个user目录还是很重要的啊,那我们先看看其他的吧,我们干脆就把这个带链接的都看完吧,有这个箭头指出来的这些目录先都看完,那另外还有一个lib,还有一个LIB64啊,那它分别又是什么意思呢?Lip呢,很明显就是library的前三个字母,哎,那所以这就是一个当前的库目录,哎,那库目录主要是用来放什么呢?当然就是呃,系统和应用程序所需要的一些共享库文件,类似于Windows里边的DLL啊,就是我们所说的动态链接库文件了啊,那对应的呢,Li目录可以认为等同于Windows里边的。
07:23
C盘下边我们知道有一个著名的目录,Windows下有一个SYSTEM32,诶,那在这个目录下边有非常多的DLL文件动态链接库,哎,那我们知道很多都是系统必要的是吧?你假如说把这个一删的话,那有可能系统整个就崩了,就直接启动不起来了啊啊,那那所以我们对于这个Linux而言,Li下边很多东西也是非常重要的,这我们肯定就不能不能随便去删,随便去动啊。那另外还有一个这个LI64,诶那我们知道那就是64位相关的一些比较特殊的,呃,一些库文件可能我们会放在这里,对吧,那这个关系就有点像Windows里边的啊,就是system和SYSTEM32一样是吧,只不过我们这里叫做lib和LIB64。
08:08
呃,当然就是说我们一般是很多这个重要的系统需要的这个动态链接库文件放在这里,那有一些,呃,应用程序需要的共享库可能也会放在这里,那本身它这个是个链接,链接到哪去了呢?一看又是user下面啊,User下边的Li目录,那这个呢,是user下边的LIB6次目录。这两个其实本身它的这个大小是非常大的啊,我们直接一看就是包含了我们系统里面的很多东西啊。那既然提到这儿了,我们干脆就把user也一起说一下吧,User user SR这个目录其实是非常重要的,我们看到它里边其实就包含了用户的所有的应用程序和所需要的文件和数据就都放到这儿了啊,那你要这么类比的话,它可能不光因为这里边链接过来的有这个呃,User b和user user s病对吧,还有对应的这个user lib是是都是我们外面这个系统级别需要的东西啊,那这些东西的话,可能相当于Windows里边啊,下边的这个SYSTEM32那。
09:16
如果要是其他的一些东西呢,用户级别的一些东西呢,那可能就又相当于Windows下边的program files啊,那所以这个就看我们怎怎么样去理解啊,Linux它是把所有用户级别的东西全放到这里来了。当然不同的Linux发行版可能对具体的这个内容的设置会有所不同,我们看到这儿还有一个user local啊,Local就是本地对吧,用户本地的一些用应用程序相关的文件数据,那这个下边还有一个B,哎,所以有时候啊,这里边还会有大量的内容是当前针对这个用户可以去单独执行的一些东西,这里边同样也有,也有这个Li目录目录对吧?啊呃,所以有时候我们可能会。
10:01
就是有一些命令是链接到这个user病下面,有些链接到user local并下,我们现在是不存在这个问题啊,都是在这个user并下。这就是关于当前最主要的这些目录的一个基本的介绍,然后呢,我们再看一看其他,其他的目录呢,相对来讲就会简单一点了,比如说这里面我们看到一个boot。不存目录,很明显这就是之前我们挂载的那个引导分区里边存放的一些东西嘛,这个目录非常的重要,我们把它单独的挂载到了一个分区啊,就是里边是单独划分了一个分区的,然后如果我们看它的属性的话,会发现它其实并不大对吧,就是我们呃引导启动的时候所需要的一些文件和一些核心文件啊,包括一些呃链接文件以及镜像文件,那如果说我们想要写自己的用户数据的话,那千万不要写到这儿来啊。我们看到它其实非常小,就只有100多兆,所以之前我们说就是这个boot分区啊,当时分区的时候,这个分区其实只要有100~500兆,一般也就够了啊,那我们当时是给了一个G啊,就是方便我们整个做这个大小的计算而已。
11:16
好,那接下来呢,还有一个叫做dev啊,Dev这个它其实是dev device的前三个字母,哎,所以它是一个设备目录,也就是当前管理我们所有设备,诶这设备怎么去管理呢?诶我们可以点进去看一眼啊,诶我们看到它真的是把所有的设备啊,甚至所有的硬件设备在我们这里边都有对应的。映射到不同的目录,不同的文件上去,比如我们这里有CPU啊,那当然还有硬盘啊,Disk啊,那对应的像总线啊什么的,对应的这些硬件设备,其实都有相应的文件映射,诶,那比方说我们这CPU点进去我们就会发现,诶这里面又分了01234567。一共有八个,为什么有八个呢?哎,如果我们还记得话,一开始我们做虚拟机配置的时候,分配有两个CPU,每个CPU有四个内核,哎,所以当前的逻辑核心不就一共是八个吗?哎,所以每一个对应的都有一个目录来来进行管理,里边有对应的相应的文件。
12:22
那所以具体是什么?当然我们不需要再去呃多进行考虑,但是我们至少知道,在Linux里边确实是把每一个硬件设备都当成文件来进行管理的,这就是我们说的一切皆文件,所有的东西都能在里面找到对应的映射。好,那接下来又有另外一个非常重要的目录,这个目录叫做ETC。ETC这个目录呢,主要放置的是一些系统管理所需要的配置文件和啊对应的一些子目录了啊,有时候我们假如说啊,你安装一些数据库,安装完了之后,对应的配置文件就会放到这儿来啊,那这个ETC里边我们就会发现就是后面啊,你要做的很多配置操作,诶可能都跟这里的一些比方说康复文件啊,对应的这些配置文件有关系。
13:15
这是关于ETC,后边其实很多操作还是跟他都会打交道的,这个我们一定要记住。然后呢,就是一个home目录,Home目录其实非常简单,我们知道home就是加的意思啊,那其实就是在Linux里边,每一个用户都有一个自己的主目录啊,就是对应的自己相关的一些,呃,个性化的一些数据文件,都应该是放在自己当前的这个主目录下的。类似于我们一进来之后看到的当前root用户的主文件夹啊,就都放在这里,那当然了,我们会想到这个home下边,那会有root的主文件夹吗?注意不会有,因为它都是普通用户的文件夹啊,那我们当前只有一个普通用户叫at硅谷,诶,那这个里边当然就只有一个艾特硅谷了,如果说我们再多创建几个用户啊,那那当然了,对应的就会每一个用户都出现一个相应的文件夹放在这里。
14:13
啊,所以这个其实还是比较简单的。那另外我们自然知道了,那root用户的主目录在哪里呢?诶,后面有一个root。文件夹它本身就是root用户,也就是系统超级管理员的用户主目录点进去我们发现,诶,这不就是我们在桌面上点的那个主文件夹吗?诶,它本身的路径应该就是。杠root啊,其实就是在这里。这是我们能够看到的最基本的这些目录结构的一些用法啊,另外呢,还有一个非常常用的目录,我们这里可以直接说一下,就是下边的OPT目录。这个OPT其实是optional的前三个字母,也就是可选目录,哎,什么叫可选目录呢?也就是说可有可无无所谓是吧?哎,那所以这其实就是。
15:07
我们当前Linux系统里边。给第三方软件包专门留下的位置,就是你假如想要额外安装一些软件的话,那约定俗成把那些东西全部都装到这里来。啊,就是相当于我们单独的给自己的,呃,硬盘分区的时候画一个比方说专门装软件对吧,装software类似于Windows上这样的一个做法,那在Linux里边默认就是都放到自己的那些第三方软件啊,都放到OPT目录下边。啊,那这些其实就是最为常见,最为常用的一些目录了,那另外还有一些目录,我们分别来介绍一下,按照顺序,首先media目录,Media我们知道是媒体的意思,媒体目录,那它主要用来干什么呢?那就是可以识别一些可移动媒体设备,比方说像U盘,光驱啊,这些设备识别之后。
16:03
Linux自动,因为我们知道这些外接的这些媒体,它相当于是一个外部存储了,那如果接进来之后,那怎么去处理这些东西呢?我们当前硬盘分区都已经分好了,那它对应的这些外部的数据又应该放在哪个分区呢?哎,那就相当于有了一个新的分区,然后把它。挂载到我们对应的一个目录下面去,哎,那挂载到哪儿呢?U盘和光驱啊,默认就挂载在media这个目录下面。所以它相当于就是一个可移动媒体设备的挂载点。跟它并列的另外还有一个很著名的目录叫做mnt,哎,Mount目录,哎,这是mount的一个缩写,这也是一个挂载目录,相当于可以认为是另外一个media,它跟media基本上差不多,哎,那就是我们可以把任何的外部存储啊,加了一个之后。单独的让他指定挂载到这个帽子上面去,然后进入目录里面就可以查看里面内容了。
17:01
所以我们可以认为这就是移动化存储设备的另外一个挂载点啊,他们俩都是挂载点啊,然后接下来呢,还有一些就是跟系统相关的东西,比如说这里有一个。Pro ROC pro ROC其实是process的一个前四个字母的一个简写,那所以说这个process,那我们知道这是进程嘛,所以它是一个进程目录,这是一个虚拟的目录啊,相当于是我们这个系系统内存里边进程的一个映射,它存放的就是现有的一些硬件和当前进程的一些信息,所以这个目录其实对于系统来讲是非常重要啊,但是对于我们一般用户来讲,那就是你不要动就好了,对吧,这个东西千万不要跟系统相关的东西不要去碰啊。啊,然后后面还有一个wrong目录,Wrong目录呢,呃,其实跟这个process啊pro目录有点像,但是它又不太一样啊,就是当前这个wrong目录是一个运行目录,运行目录指的就是存放的是。
18:02
当前系统运行以来的所有实时信息啊,那它其实是一个临时的文件系统啊,重启之后它就被干掉了,所以这个东西其实没有那么重要,这个东西呃,你你想要动也行啊,重启之后反正就没了,但是最好也不要动,因为它是记录当前系统信息的嘛。然后后面呢,还有一个叫SRV,它其实是service的一个缩写。那当然了,Service我们知道它应该存放的就是跟系统服务。相关的一些东西了啊,那那那对应的这些东西我们当然也不应该删了,假如说你删了之后,本地服务肯定就起不起来了嘛,另外还有一个SYS,很显然这是system的缩写啊,那所以它存放的是系统硬件信息的相关文件啊,就假如说我们之前说那个lib和LIB64啊,Library存放的是类似于Windows里边的SYSTEM32啊,存放的是系统相关的那个动态链接库的话,那这里存放的是硬件相关的信息,那所以当然这个也不能删了,呃,这些东西都不能动啊。
19:09
啊,那说了这些不能动的东西,那接下来终于又有可以动的东西了,比方说这个tmp啊,Tmp可能很多同学也听说过啊,就是TP啊,就是temporary临时目录的一个缩写,所以如果是临时目录的话,那当然就是你当前啊可以删掉的啊,只是临时存放一下的东西都可以放到这儿来。往往我们在做操作的时候,可能没那么仔细啊,很多东西就全堆到这儿来了,那么发现这个硬盘空间不够的时候,往往就会到这儿来找,诶看看这儿能不能清空去节省一些磁盘空间啊,啊往往会关注这里。那后面的user我们已经说过了啊,这个目录也非常的重要啊,包括前面的这个并和lip都是链接到user目录下边去的啊,存放了很多的应用程序和用户相关的这个数据文件都放在这儿了,那最后呢,还有一个叫VRVR我们知道是V变量,它的前三个字母。
20:07
那对应的呢,这就是一个可变目录。那这个目录里边呢,一般就会存放一些不断会扩充会变化的东西啊,就是经常被修改的那些东西都放到这个目录下边来,所以一般这个里面放什么呢?就是放各种各样的日志,Log都会放到下面来啊,这就是一般对于这些目录的划分,当然我们在具体使用的时候呢,也可以根据自己的需要来灵活设置,因为我们是root用户嘛,本身你是有权限在所有的地方去写东西的,但是一定要谨慎啊,就是像我们说的有一些系统相关的目录那最好。是不要去碰啊,那比如说这里边我们说的这个C对吧?啊,像这个wrong service system啊,这些目录最好就动都不要动啊,那当然了,你像这个boot肯定肯定也是不动了啊,引导分区肯定更不动了啊,那第1V设备目录也是不要动的啊,这些目录都是都是不能动的,那对于我们平常使用而言呢,用的最多的可能是像这个病S病,因为里边有很多我们需要的命令。
21:13
啊,但是最好呢,这里面的东西我们也谨慎的去进行添加和修改,最好是不要删啊,有很多东西你删了它就它就没法运行了嘛,那另外还有这个lib lib当然也是尽量不要动,尽量不要去删的。那哪些东西是我们可以动的呢啊,动了之后完全没问题的目录,哎,那就是temp啊,临时目录随便动,这肯定没问题对吧?啊OPT我们安装的就是第三方软件吧,就给我们空出来的啊,这个肯定没问题,随便放啊,然后还有就是后,就是自己用户对应的那个目录下边当然是随便动了,当然如果你自己本来是root的话,这个下面的东西也是自己随便用的啊,跟系统没关系的,这些用户自己的目录下面的东西都可以随便改。
22:01
最后还有一个外啊,因为它是可变嘛,一般放日志之类的东西,这个一般影响不会很大啊,所以这些目录我们可以去做改动,可以去做删除。啊,那另外呢,还有一些就是像这个ETC之后我们可能也经常会去使用啊,就是像这个病,ETC病里边主要是使用里边的命令,而ETC呢是要修改里边的配置文件啊,所以这个是谨慎去进行操作的一些目录。至于这个media和mount,那就是挂载上来新的东西的时候,假如那个U盘里边啊,光驱里边的东西,我们都可以去改,都可以去删的话,那是无所谓的啊,对我们系统是没有多少影响啊,这就是关于整个Linux目录结构的一个介绍。
我来说两句