00:00
好,那咱们开始新的一章啊,新的一章咱们这章讲什么呢?讲一下这个Linux的这个文件管理啊,文件系统啊,这张非常重要,因为咱们之前呃,讲课的时候提过说Linux呢,一切接文件是吧?啊,它底下所有的设备啊,这些文件都是以文件的形式啊,你玩这个Linux说白了就是跟这些文件打交道啊,这一章咱们就讲这个啊,那正正式讲课之前,咱们先说点说点东西,就是说呃,这张相对来说有点难度啊,尤其是那个啊ugo权限,RW那些东西,就是这个文件权限那块啊,有点有点难度啊,因为它跟这个Windows这个,嗯,反正使用习惯上不太一样啊,就是说你可能觉得呃,尤其初学者会觉得有点别扭啊,这个其实这算是可以说是算是这个初级课程里边算是最最最最别扭的一张啊,这张你要突过去了,你后边就觉得不费劲了啊,其实这个课。
01:01
课啊,就是Linux这个课是前面开头啊,入门有点费劲,真正后边的课越讲还觉得越简单啊,到中级讲各种服务器啊,讲各种安全策略啊,讲什么这些你觉得都不难了,到高级讲什么open sta,什么open shift,讲什么docker这些东西你倒觉得那玩意儿挺好学的啊哈,就点鼠标啊,然后又又调一调就就出来了啊就是开头难啊,那好咱们先先说点这个打点预防针啊,咱们就开始讲了啊啊首先说这个文件呢,呃,文件咱们造文件是用touch是吧?啊这个咱们讲了,造文件呢,咱们当时讲说,呃,今天咱们扩展一点,比如说呃,文件名,文件名最多250个字符啊,255个字符,但是一般来说这谁也不会抄它啊,你命名的时候你就规规矩矩的是吧,英文字母啊,数字啊,这个啊,也不要使用一些特殊字符,你比如说嗯,你比如说touch一个fail啊,你想touch一个文件名叫fail的文件。
02:01
你说我这L啊,我不想用这个L,我想用右斜杠,我想造一个叫Fi右斜杠E这么一个名字的文件,这里边有个特殊字符啊,你要是这么造,你看一眼啊,你造出来它就不是那右斜杠一,它就就没有右斜杠了,为什么呢?因为这个右斜杠在咱们linu克X里边啊,就它叫什么呢?它叫转译符,他是干嘛的,他把一些特殊的符号取消了,它这个特殊的含义啊,你要是学过点编程开发,你可能明白这个啊,就是说它取消那个特殊的一些字符的含义,所以你要是呃想造这文件,它就理解什么呢?你取消E的特殊含义,其实EE本身没有特殊含义,但是它一取消就是他本意啊,就是个意,所以写在这儿没有这个啊,尽量写文件名,不要有这种特殊的这种字符啊,当然有的人说是,那我就想造一个文件,我就叫这个名字,能造出来吗?倒也能啊,你你说我就想造一个这个文件是吧,那你那你在这个右斜盖,那你加个转移符呗,转。
03:01
符不是取消特殊含义嘛,那它后边这个游斜盖就取消了特殊含义,它就不是转移符了,就变成普通游斜盖了,那你这个时候你造出来,你看这不就出来这么一名字文件嘛,但是这种说实话,你一般情况下你别这么玩啊,没什么意义啊,还有呢,比如说嗯,隐藏文件啊,Windows可能右键属性你设个隐藏就完了,Linus怎么做隐藏呢?你比如说咱们找个干净点目录啊,Home目录,你看只有一个前进文件夹啊,啊比如说我们touch啊,Home目目录下我们建一个叫OK的文件,这个文件我想把它建成隐藏文件,怎么建呢?前面加个点就行啊,Linux把这个文件前面加个点,这就算是叫隐藏文件了啊,你看一眼,你正常看后面下你是看不着这个OK,这文件呢,为什么它隐藏的啊,你看不着怎么能看着啊,加一个参数叫杠A啊,你可以你可以卖一下这个LS是吧?啊,咱们再用一下,你看杠A是什么二啊。
04:01
呃,强制显示啊是吧,强制显示这些东西,那么你LR-a home你看诶出来了,有这个隐藏的这个OK,这文件这是咱们说的,说文件前面加个点,这表示是隐藏啊,有同学说老师诶这怎么又出了俩是吧?诶这个不是表示隐藏啊,这个一般在每个文件夹里都有,什么意思呢?你比如说你看看这个,比如说看后看root,你看root你这么看也没有是吧,你在这加一个啊杠A你看。你看好多隐藏文件出来了,而且前面也有这一个点是俩点,这什么意思啊,这是一个目录的属性点表示当前目录啊,你看这两个都是目录的属性,它俩表示,你看这都是文件夹点表示当前目录啊,这个两个点表示上一层目录啊,怎么理解呢?你比如说我touch,你看我现在在哪PWD,我现在在root下吧,是吧,比如说我。那我CD2个点,那就是进它的上一级目录,入的上一级不就是根嘛,是吧,哎,你PW看一眼是吧,进到根了啊,你比如说我在CD这个home下的琴是吧,啊我到这儿了是吧,那比如说我想他吃。
05:15
点点下的,比如123这么一个文件,那他踏出到哪儿了,我现在在这儿是吧,它上一层目录不就是home嘛,那肯定是123造在home底下了,你不信你到这个home底下你看是吧,造出来了啊是吧,一个点表示当前,这什么意思呢?一般是可执行程序啊,有一些可执行程序,咱们后边要讲点杠运行现那个记得咱们那个,呃,就讲安装那课时到最后有一虚拟机那个叫什么VVR什么什么什么点PL啊,那就是一可执行程序,一般运行当前目录下的可执行程序,用这种格式或者呢就是。呃,就是点代表当前,怎么理解呢?就是说嗯嗯,Touch,你比如说点儿下的是吧,OKOK,诶你看当前目录就是扫除以OKOK嘛,啊一个点表当前目录啊,那么这是咱们讲的一个点俩点啊,包括普通文件前面加个点表示这个啊隐藏啊,也要用这个杠A啊来识别它啊,这是咱们讲这个,然后还有什么呢?就是呃,文件的这个类型啊,之前咱们讲过,你比如说我们讲过说这个呃,前面是这个一横杠就表示这是个普通文件啊,普通文件前面是个这个D,表示它是个文件夹,是个目录是吧,咱们可以进去啊呃,前面是这个L,它其实是链接啊,这是软链接,其实就是快捷方式啊,咱们这章咱们讲到到讲到后边有实验,咱们讲怎么做这种快捷方式的啊,还有什么呢?还有什么B啊,B表示块设备啊,C表示字符设备,就是这这这在哪。
06:51
有啊,在这儿有呢啊,你看一下这DV目录,你看诶看着了吧,诶这C字符设备是吧?这终端TTYY0TTYY1,这是咱终端,咱们打开这就是终端啊,这都属于字母设备,然块设备的,你看这不是有B的嘛,你比如说磁磁盘啊,磁盘这些硬件这块设备啊,Sda表示什么呢?咱们专讲磁盘那张会讲就磁盘的类型啊SC的Dis是吧,A呢是第一块磁盘,第二块叫SDB是吧,Sda表示是这个第一块磁盘上的第一个分区啊,这是第二个分区,第三个分区啊,他认为这个也是这个这个这个磁盘,那这个它也是这个这个块设备,它也是一个文件啊,包括这个。
07:32
你看这这底下还有什么呢?比如CPU啊,这是目录进去以后,这些他认为是字符设备啊,这种特殊类型的啊,这种特殊类型啊,有B有C啊,还有管道啊,什么P类型的啊,但一般咱们熟练掌握的,就是说你知道这个这个横杠是普通文件,D是文件夹,这两个是最重要的啊,这是最重要的啊,然后呢,就是说我们呃,在一个目录里不要有同名的文件和文件夹,就是因为什么呢?你看比如说我们后目录啊说。
08:06
呃,我这有一个,你看啊文件叫这个123啊,那你说我可以在底下再去造一个文件夹,叫这个123吗?肯定是不行的,为什么呢?他说了,他说你看他报错,他说could not create directory啊,不能建造这个目录是吧,为什么呢?他说这个fail exist什么意思呢?他认为文件和文件夹,文件夹也是一种文件,它是一种特殊的文件啊,只是一种能进去的文件,所以呢,你不能造一文件夹叫123这俩同名啊,这俩同名在Linux底下虽然没有扩展名这概念,但是它这名称还是有的啊,那你说我能造一个叫,呃,后面下我能造一个叫点123的吗?你看一下啊,诶可以,为什么呢?这俩文件不是一个样的,这是隐藏文件啊,所以你不能同名表示的什么,就是说隐藏文件和非隐藏文件这俩不是同名啊,它是这意思啊,这是这这块文件,这个造造这个文件改名字,咱们再多讲一点哈,讲。
09:06
一点啊,接下来呢,咱们就得讲点这个了,这这开始要难的了啊,我们看啊。就讲什么呢?讲这个你看啊这一串这一串咱们前面光讲的时候用这个LL,咱们看的这个信息多啊,那具体是什么内容还没讲是吧,接着咱们就讲讲,咱们先从简单的讲起啊呃,简单的话就是第一个字符,咱们知道了什么意思,它是文件类型是吧?嗯,再有简单就是这个,这就是创建时间啊,这创建时间你什么时候造的这文件,这时间啊月日啊,时间几点几点是吧?啊这都好理解啊,那这段也好理解,这段什么意思呢?这段是它大小啊,你比如说我们看一下这个ETC目录啊,你看这每个文件大小不一样,咱们前面还讲了说你要想呃看的比较,这个就是按这个人类可阅读的是吧,你用加个杠这个啊杠H,你看它K的就变成多少多少K了是吧,有有兆的就变成照了,这里不有照的吗?哎,这个目录不好,咱们换一个这个这个目录是吧,不存目录,这肯定有照的,你看。
10:14
这个目录啊,内核啊,这五兆五兆多是吧,这个啊,这这这两兆两两两百多K是吧,这个这个大是吧,60多兆啊这个。啊,其实是这个,咱们讲到后边内核那张讲,其实这部分也是内核的一部分啊,它直接扔内存里啊,就这个n itt这个啊几十兆,这这一共这是内核啊,那么这是咱们讲这个看大小啊,这一位是看大小再往这一块啊有点麻烦了啊,有点麻烦了,咱们先说这个啊,这叫属主,这叫属主,属主和属主什么意思呢?就是说呃,Linux是这么界定的,就是说他你在造文件的时候,你不是有一身份登录上来吗?你是什么身份,你造的这文件就是归你啊,他的属主和属主就跟随你这个用户啊,你这用户是谁啊,你属于哪个主组是谁,那你就造出来文件就是谁,你比如说咱们前面上一章讲过,咱们讲的root,呃,就讲这ID这命令是吧,这账号名字是这个啊组呢属于这个root组,那你现在touch的文件,比如跟下我做一个叫123456啊,你看一下跟一下这个文件诶。
11:27
它是不是就属于root用户,属于root组是吧,就属主属组啊,那么你比如说我溯到这个秦啊,我切换到琴这用户了,我touch home下的琴下我建一个叫太字文件,注意啊,你切到琴这用户了,你就别瞎建了,你比如你勤这用户权限小,你要是在root底下,你必须建个123,你见不上,为什么你人提示你权限拒绝,就是你这个注意啊,你勤这用户了,就好多初学者都犯这毛病,呃,用惯的root了,换一普通用户权限不够,什么也干不了啊,所以你注意啊,你踏实的时候,你跑到这个后不下勤,这是勤的加目录,它肯定权限是有的,你建一个test啊。
12:10
那你再看一眼这个后下琴下的这个test,你看它就属于秦秦,为什么呢?因为你ID这个琴,你发现秦这用户它属于秦这个组啊,你看他还属于这个组,但是这个组是他的主组啊,这是的主组,所以说呢,你拿秦这个用户建的文件就属于秦秦啊,就这。这是吧,秦秦啊,这是可以改的啊,就是说你这属主属主建立之初是这么定的,但是你后期是可以修改的,怎么修改啊,用春之on。啊,改变趁着嘛,Own所有者是吧,比如说咱就把这这个文件改了,改成谁改成root的行吗?可以root冒号root啊前面是属主,后边属主是吧,用冒号分割开啊后下的旗下的test,那你再看一眼。
13:04
你看这文件就不是秦的了是吧,变成route呃,Route了啊,当然了,就是说你这数组数组和数组啊,不一定说属主,一定得属于这个属组啊,什么意思呢?你比如说我趁之后啊秦冒号入这可以吗?可以啊,完全可以,你看啊。那我这个文件的属组是禽啊,属组是route,但是呢,你可知道秦不属于route呀,是吧,你看一眼是吧,不属于route组是吧?哎,可以这么做,就是说你可以随便的改,这是两个分开的属性啊,这个啊属主和属组啊,然后这个讲完了呢,讲这个这段是最难的啊,这段什么意思啊,就是说权限啊。什么叫权限呢?是这样,对于任何一个Linux这个操作系统里的任何一个文件来说啊,呃,所有的这些用户对于这一个文件只可能出现三种身份,哪三种身份呢?要么你是他的属主啊,我们称为叫U啊,用tuu来替代,就user是吧,要么是这个这个用户啊,属于这个组叫T啊,Group嘛是吧,如果有一个用户既不是属主也不是属主,那么我们称之为叫o others啊,这任何一个用户对任何一个文件就具有只可能是具有这三种权限之一啊,要么它是这个文件的属主,要么它是属主,要么他啥也不是,我们统称为others啊,这块不知道你能不能听懂啊,属主属和others,你比如说吧,咱们举个例子啊,就还拿这个这这个这个文件来说啊,那对于这个文件来说,秦是他的属主。
14:54
是吧,比如说我在建一个到冰的用户啊,那么。
15:00
冰这个用户对他来说属于什么呢?就是说冰这个用户又不是他的属主。兵属于这个root组嘛,你看一眼这个兵他肯定不属于对吧,那么他也不是他的属组里的成员,那么兵对他来说就是属于叫others o啊,Others啊,Others啊,这是身份啊,这是身份,那么任何一个用户对于任何一个文件只可能是UGO这三种身份的其中一种啊,那么。对应他来说,就是说这这一共是九位啊,三段九位分成三段,三位是一段啊,那么它这个权限有几种呢?RW叉叫可读权限,可写权限和可执行权限啊,可执行权限一般来说就是说呃,这种可执行程序才有可执行权限啊,那么呃。任何一个用户,他只可能有这三个身份之一,那么对这个文件的权限只可能有这三种之一,就是对这个文件要么你可以读啊,或者可以写,或者可以执行啊,或者是都能干,或者说这两种之一就是反正权限就这三种,用户身份就这三种,那么他们这六个组合啊,就是这个用户对于这个文件的权限啊,这可能讲的有点理论化,没关系,咱们一做实验就明白了啊,那么比如说我们说这个文件,说哪个文件,Home下的旗下的test这个文件。
16:32
那么你看啊,这个文件权限怎么看啊,秦这个用户对于这个文件来说,他是属主,那秦这个文,秦这个用户对这个文件有什么权限呢?可读可写啊,数组看头三位啊,可读可写的权限啊,那么root组是他的属组,这个组的成员啊,里边可能有100多个管理员是吧?哈,除了root以外,可能还有100多个管理员,那这100多个管理员呢,不是属主,他但是他属于这个主,所以他的权限要看中间这三位,那么也是可读可写的,那么其他人呢,说你比如说有个张三啊,张三又不是秦这个用户,又不属于root组,他就属于others others看最后这三位对他可读啊,对他可以读,就是这个权限啊,这个如果你还觉得说听的有点不懂,咱们做个实验,比如说做一什么实验呢,在企业里,比如说啊,我们去。
17:33
做这么一个实验啊,比如说我做一个叫财务部的文件夹,财务部里边呢,我们touch一个文件,财务部里边有一个文件叫账本,诶这账本就是记着咱们公司的账啊,财务部的文件夹,然后呢,我做两个组,一个组叫。呃,财务部再做一个组,再做一个组叫什么呢?叫。
18:02
销售部公司这俩部门,财务部和销售部,然后我再添加几个用户,你比如说我添加一个用户啊。叫会计啊,然后我把这用户啊添到这个财务部里啊,我再添用户叫出纳是吧,也添到这个财务部里啊,注意看啊,会计组里边俩账号,一个会计一个出纳啊,然后呢,呃,我再添加一个叫销售。销售一啊,我给他搁在这个,肯定是搁在这个销售部这组里是吧,我再添加一个销售二也搁在销售部一组啊,注意我见了四个用户,分别是会计出纳,属于财务部,销售一,销售二属于销售部啊,那这个账本呢,这账本你说应该是具有什么权限呢?那首先来说这个实验咱们做完,就这账本应该是什么权限,就是说会计应该可以读可以写啊,如果这个财务部这账本是可执行程序的话,他应该还能执行啊,那咱就不用那么复杂,就账本可以读可以写吧,就他能看看会计这个哥们儿呢,这这这他能看账本,而且他还可以做假账啊,他还可以写,往里边写数据,那出纳来说你小出纳是吧,你你就看看就得了啊,那么财务部的这些人应该都可以看账本,但是只有会计能往里写数据是吧,那销售部的呢?那销售部的这帮人应该你看不到账本才对是吧,你一销售你看财务账本不合适。
19:33
是吧,所以说比如说在企业生产一线,咱们怎么去对它设置权限呢?首先我们先看一眼,默认现在是什么权限,你看默认这个文件是什么权限啊,是这个权限啊,什么权限它它因为我是用root造的,它肯定是root root对吧?啊首先来说啊称之or啊郴州。呃,财务部首先来说这个文件夹啊,就应该属于什么,呃,整个这文件夹应该属于财务部啊,那就应该怎么办呢。
20:10
会计冒号财务部啊,属主是会计啊属主是财务部,然后呢。对于财务部这文件夹啊,但你要注意啊,你这要是一回车啊,你看一眼啊,L-D-D是看哪个文件夹权限,财务部这文件夹倒是改过来了啊,会计财务部是吧,这文件夹过来了,但是你注意这个底下啊,这就没有杠地了,把这缸底去了,这账本你看可还是root root的什么意思呢?你这个命令啊,这个命令看一下啊,改变这个属主属组,你只对这个文件夹生效了,它底下的没生效,它底下这账本这文件没生效,你要想改让它所有的都生效,那怎么办呢?好多命令都支持这个参数叫杠R,杠R什么递归啊递归就是说我把这个文件夹改成会计,属于会计财务部,杠二连他底下的所有东西递归都改了,你要是这么来一下,你再看看啊,你看这这账本是不是也改过来了,也变成会计财务部了是吧?啊,那好,接下来咱们说,呃,那真正来说这个账本呢,是属于会计财务部啊,现在我们看这权限对不对啊,会计。
21:31
会计师的属主应该是看头两位可读可写对吧?哎,这是对的是吧?不,没有执行权限啊,RW权限可读可写,然后呢,我们说财务部这组应该是看中间这三位可以读啊,但不能写,比如说财务部里有一小姑娘叫出纳是吧?出纳那账号登进来就只能读不能写啊。那么比如说销售一,销售一是属于什么呢?销售一不是会计这个人,他也不属于财务部,他进来有什么权限呢?看最后三位可以读,这就有问题了。咱们说销售进来应该others都不能看,这个账本应该安全级别非常高,那怎么做呢?我们用称之Mo的这个命令来修改这个权限啊,Others减去一个R权限,对于谁啊?对于财务部啊,应该是对于财务部整体啊,应该都是这样的,哎,这么来做,那你现在再看一眼这个财务上的这个账本这文件你看没了吧,诶啊,这位是三个横杠什么意。
22:32
是呢,销售一进来一看,销售是既不是会计,也不属于财务不足,他的权限是属于others,看最后这三位啊,最后三位什么权限没有啊,他就应该进不来这个看这个东西了啊,这才是在企业一线,咱们说这个实验啊,你可能就对这个权限明白点了啊。
我来说两句