00:19
那咱们上周的学习这个。难度是比较大的,连着两个重要的也是难点都在上周完成了,那这个表达式和脚本。那脚本编程呢,实际上这个对于初学者来讲确实有一定的难度啊,它里面的各种逻辑啊,包括这个各种写法。各种符号比较多,所以对于很多初学者来讲,记住。甚至有的时候不知道怎么去写这些所谓的脚本,所以我们暂时呢,先把这个脚本过一段落,告一段落。
01:07
然后大家可以趁着这段时间呢,来做一个消化。那过一段时间我们再来帮我们来看脚本的进阶部,那在上次我们也说过啊,脚本不是一天学完了就能学好的。需要你大量的写一些脚本啊,至少写个5000行,慢慢的才能有点感觉,所以说如果说你光听了一遍课。手都还没有写几行脚本,你说你学不会就不要说了,因为你还没有到那个阶段。你必须要练到一定的。那的情况下才能把它学好。写脚本就跟学学说话一样,学语言一样。你要不重复不练根本就学不好,所以大家趁这段时间呢,可以把这个脚本适当的去多写一些。
02:03
刚开始呢,你可以阅读别人的脚本,看别人的脚本,照着抄是吧,然后抄上几遍,慢慢的你就理解了,在理解的基础之上,你就可以自己写一些简单的脚本,那作为运维来讲呢,写脚本是一个基本技能啊。虽然说它不像开发要求那么高,但是学一些简单脚本还是有必要的。那事实上对于运维来讲,写脚本要求没那么高。啊,总的来说呢,它逻辑上就那几个处理方式,我们上次已经都讲了,顺序处理,条件判断,再加选循环。就这三种逻辑。事实上,工作中。甚至有的时候就是顺序执行啊,甚至有时候循环都用不上。偶尔加个条件判断。
03:03
那所以我们在写脚本的时候呢,你会发现工作中有时候写脚本没那么复杂。啊,咱们上课有时候写一些还稍微绕一点的脚本,这工作中往往还比较简单,你就把你想做的事按照一条一条命令给它敲上去就完了啊,所以这个脚本的事啊,大家不要压力太大是吧?哎,学了以后怎么自己写不出来,那你才刚学嘛,你才学了一两天,你哪能学会,哪能写出来,嗯。那我今天呢,学的轻松一点的。啊,文件的查找和压缩,那这一部分内容呢,千万不要小看它。上次课去拼去拼多多的这个同学,他就说了文件查找,这个是好像是必问。对,虽然说很简单,但是确实在很多面试里面都会这个。而且这部分在我们工作中也是用的非常多的。
04:02
查找和压缩打包,所以这一部分呢,大家命令必须要掌握。但是不那么难啊,就是个死记硬背的活,那下面呢,我们就来看一下这张。嗯。啊,那这张呢,大体上呢,主要分成两块,一个是文件的查找。搜索还有一个呢,就是文件的打包压缩,这这两大块儿,这张呢,我们要掌握大量的命令。有一部分和查找有关,有一部分命令和文件的这个压包,压缩打包有关。那我们先来看一下文件的查找。那文件的查找呢,主要有两个命令,一个叫lock命令。
05:02
一个叫find命令,那其中find命令是重点命令。那的命令,它的这个搜索非常快,可以说。瞬间就可以完成。那洛的命令,他在搜索的时候,他的工作逻辑并不是真的跑到硬盘上去搜。而是利用数据库来进行搜索的。也就意味着你事先要把磁盘上的文件建立一个索引数据库。就相当于有一个114的查询台,事先把各个单位的电话都已经放到114查询台了。所以你打114电话就能问出来。但是124查询台会实时更新吗?那显而易见,你单位电话变了,幺四查询是不是不会实时更新?它会有一定的滞后性。
06:01
那这就是locate的工作逻辑,那locate呢,它的搜索。只需要后面跟上一个你要搜索的文件的。Pattern就可以了,这个pattern呢,可以写正能表达式。啊,也可以光写一个字符串,那比方说我们去搜一个文件。然说就叫pass。大家看会出现这样的提示,这个提示的原因刚才也说了,它依赖于数据库,大家看到的这个文件的路径就是我们所谓的数据库。这个数据库呢,是不会刚装好系统就有的,需要你去等待一段时间,它会自动生成,估计大家那应该是问题不大,因为你的机器机器已经开了好长时间了,我这个机器已经还原成一个初始状状态啊,所以我这上面没有这个数据库,那没有这个数据库呢,那我们要生成这个数据库才能。
07:10
利用lo命令进行搜索文件,那么这个lo数据库的创建呢?我们可以用两种方式,刚才说了可以等待。然后你继续就等着吧,过一段时间它自动就有了。但这个等的时间不好说,所以等不及呀,我们可以用一个命令来主动的创建这个数据库,这个数据库文件。这个路径,那现在大家看到是不存在的啊,你看。然后我们用这个命令可以触发这个数据库的生成。它就会自动的搜索你磁盘的文件。把所有文件建立一个索引,放在这个数据库里,下次利用lock,它就会瞬间把你要找的文件找到。当然,更新数据库这个命令不要在生产中繁忙服务器上去执行,因为这个命令它肯定会在你的磁盘上搜索所有的文件。
08:11
这样的话呢,在这个建立索引的过程中,会比较消耗IO。啊,如果你的服务器本身就很忙,你这样的话会造成服务器说不定就是僵死在那儿啊,所以执行这个命令的时候要小心,当然我这个机器也没什么访问量,本身就是个最小安装。啊,我这个系统总共才多大点,你看总共我的根才多大看才1.6个G,所以瞬间就完成了,那在生产中的话呢,说不定硬盘里面有多少对上T的数据,你这一条命令下去,咔死在那了,所以不要随便执行啊。啊,那我们现在这个文件太少了,所以这个瞬间就完成了,那我们来看一下这个数据库建立起来了吗。
09:01
大家看一下这个时间是不是刚刚生成的这个文件呢,你也不用去打开看,因为它也不是一个文本文件,它是一个数据库文件,那我们现在就可以利用lock这个命令来搜索磁盘文件啊,瞬间出来了。当然大家发现它不是一个精确查找对吧。那么这个地方呢,它列出了只要路径里面含有pass WD的所有文件,看到没有包含啊,你这个路径里面只要含着就可以。当然我们在搜索的时候呢,也可以加一些条件,比方说我们可以跟上正则表达式。跟上RR呢就是基本振动表达式,那比方说我要搜索什么什么后缀的,你看这种都可以搜。那这个呢,是只是包含,那我要搜索以什么什么后缀,那我就可以用这种方式来搜索。
10:00
嗯。啊,你看这样的话呢,就可以找到所有以。com结尾的文件。大家看,它的速度相当快。啊,速度相当快。但是刚才也提到了它的搜索。虽然速度快,但是它不会实时反映你磁盘文件的情况,然后你看我这建个ABC。Test,那我现在就想搜有没有文件叫ABC test。那他找不着,那就是因为数据库没有更新。所以我们要更新数据库。更新之后才能找到明白吗?当然同样道理,你要把这个文件删了。
11:00
是不是他仍然认为是,哎,你去再去搜你看。Loc,是不是他还认为在实际上这个硬盘上,这个文件早就没了?所以它就是不能实时反应硬盘情况啊,所以这个命令呢,用的时候适合于搜的一些什么。相对固定的文件吧。不是说你今天又加,明天又删了,频繁改这种文件它不适合搜,因为你要搜的话,他不一定找得着啊,找那些什么,比方说一些配置文件。哎,你装上一些服务有配置文件,它不务会导变嘛,你至少这文件名是在的,对不对,哎,那所以我们用lock的命令呢,这个适合于相对尽快一些。不要找那些频繁变化的文件,不太适合。啊,理解了吧,那这就lock的命令啊,不过lock命令确实速度相当快是吧?啊,只要一回车就完事了啊这个所以说要找一些文件用它还是挺好的。
12:05
啊,那这是这个命令的一个特点啊,当然这里面还有一些其他选项啊,比方说什么区分答写呀,啊这个只搜前几个呀,那这些呢就可以来添加。啊,那这就是前面的案例啊,那比方这个呢,是只搜前十个,忽略大家写,然后利用扩展的,呃,利用基本的正则表达式来实现啊,这是一个小案例。好,那咱们重点呢,来学习发。F命令呢?这个面试常问啊。这也可以说是必问的一个题了。F命令呢?它是一个实时搜索文件的工具。那这个命令,只要你磁盘上有这个文件,用它就能找到。
13:03
Find命令呢?最大的优势就是它的搜索功能相当强大,可以执行各种各样的灵活的查找。嗯。那当然缺点就是因为它是实时查找。所以肯定不如lock命令那么快。啊,就像我们在Windows里找一个文件,是不是有时候也在等半天。那find命令呢,它就是真的跑到侧边慢慢找。所以这样的话呢,你这性能肯定不会特别好。啊,那find命令的用法我们来看,这是它的基本格式。Find命令搜索的时候要。要注意权限问题啊。那如果你是个普通用户,那有些目录他没有访问权限,你搜不到。比方普通用户想进到入加目录里头,能进得去吗?对不对?进不去,进不去,那root里面的那个文件夹里的文件他就找不着了,没法搜。
14:04
所以要注意权限,当然root的话当然就没有问题了啊。Find命令呢,它的基本格式是find加选项。那这个再加搜索路径。搜索路径如果不写默认,他认为就是当前目录。Find命令默认是递归。所以你不用加R选项,它就会直接把这个目录里的所有子目录全搜一遍。哎,那搜的时候后面可以跟上搜索条件。什么样的条件,比方说文件名叫什么对吧,多大权限,时间,反正文件的各种属性你都可以作为搜索条件。啊,当然,你要不写,那就全列出来了。那找出来这样的文件以后,你还可以紧接着采取一些动作。比如说找到这些文件我怎么办呀?我把它删了吗。
15:02
还是改个名啊,还是把它拷走啊。对吧,哎,这些你都可以紧接着去跟一些动作。那这是命令的一个基本的写法。那当然find命令最简单的写法就什么也不写,直接一条犯命令。如果光写个犯命令,大家看看什么意思。啥意思啊?那不就是把当前目录下的所有文件全列出来嘛,对吧,换因为你什么都省。你既没有写路径,那就是当前路径,你也没有写搜索条件,那不就所有文件。明白了吧?哎,这就是他的默认行为,那当然我们更多的会制定搜索条件,指定搜索文件的路径。那比方说我们要搜索某一个文件夹,那你就指定文件夹。我要搜这个boot文件夹,你就后面跟上这个文件夹一回车,这时候他就会把你指定的这个文件夹里的所有文件。
16:04
哎,进行展示。啊。好,这是我们刚才看到的。嗯,B命令,当然我们更多的会加一些搜索条件,那下面咱们就来看一看搜索的条件。那这个搜索条件呢,嗯,那。找到以后,这边后面跟一个默认处理动作,这个动作呢,实际上有个默认行为模式,把它打印出来,就找到以后把这个文件名。展示出来啊。那在搜索的时候呢,这个搜索条件呢,嗯,可以定义非常丰富。啊,我们先来看一下第一个按照目录的级层级。那我们这儿可以指定说我指定目录的第几层。
17:00
来进行搜索。啊,那么我们都知道文件夹它有一级一级的往下怎么深入有子很多子目录,那么这个max Dis如果是一。那就是表示这个目录里的直接的下级文件啊,那比方说我们现在看这个。Boot对他来讲谁是一呢?那就是boot里面的这些一级目录嘛,这个这就算一级。啊,这就算一级,那这就算一级好,那么所以我们现在。后面跟上一个叫MASKS1,最深就是一,大家看是不是也就只找到boot下的直接的文件列表。你发现GRAB2里面是不是明明是有内容的。他不给你找了。是不是就是最大深度就是一级啊,不再进到所有的子目录里去了。
18:01
当然,它有最大就有最小。最小是m Dis。啊,比方说最小最大视角。好,我看最大是两级,那最大两级呢,是不是就包括一级和二级。是不是你看这个不是一级吗?这不一级吗?但是你看这不也有二级吗?那如果说我就想找第二级。那我就想找第二题,那第一题我还不想要,那这时候大家应该知道了,是不是我们最小也是二,那是不是就是最大最小都是二,那不就是只有第二题,大家看是不是都是第二题。明白了吧,这面试啊,这这些问题啊,有的时候他问。就当你。你自己去做总结啊,啊,大家可以把饭的命放到你的葵花宝典里。啊,记下来啊,这面试题啊。
19:01
每人都有宝宝点吗?还有没有同学没有的?要练神功是吧,什么必须有培宝典啊?啊,那再有就是这一个。LIS呢,也可以用杠D看下,等下那就是搜索的时候呢,它默认行为你看啊,现在咱们就看这个。大家注意到,对于每一个文件夹来讲,它都是先看文件夹,再处理里面的文件。你看这个是个文件夹,它就先把这个文件夹先列出来,再列文件,它每一个都是先列这个目录,再列这个目录里面的内容,这是它的默认行为,当然我们也可以把它调一下。
20:03
加一个D选项,那加个D选项呢,那这时候它就反过来了,大家看它是先列里面的文件,再列里面问定的文件夹,那这个有啥用呢。有用。因为有的时候啊。我们现在处理文件。你文件夹里面内容的时候,我们可能会先处理里面的文件,处理完以后再处理文件夹。比方说我们就举个例子,删除。啊,或者是移走之类的。那我们先要把里面的文件先处理完,我再去处理文件夹。文件夹它是最上面的,你如果你上来直接处理文件夹,那里面的文件是不是也就会受影响。啊,所以我们可以用这种方式,把它这个次序给它调一调。啊,这个D或者Dis都可以。好,这是我们刚才看到的这个选项啊。那另外一点呢,就是我们可以根据文件名称来进行搜索。
21:05
那么你可以加上文件名,这个文件名呢,它支持通配符。啊,通病活要注意要用双引号引起来,以前有同学搜的时候不加双引号,这个是搜出来就会有问题错误的啊,比方说我们在这。那我们去搜一下。ETC下的。星点。新点test,那不就是所有test文件嘛,对不对,但是呢,你这么搜发现问题了吗。啥问题?你搜出来了对吗?那显示下不对呀,我刚才建了个A和BA和B在哪呢?在这呢,你搜的是哪啊,你搜ETC呀,那这个目录那在哪呢?那路子里呢,那毫不相干啊,为什么你没加双引号啊。
22:06
听懂了吧,所以我们这个地方别忘了加双引号,这搜出来的结果才是正确的。啊,他这搜什么都是什么,没有这样的文件。没有这样的文件,这个是不是中文的问题啊。你看他前面那个搜出来的不是那个路径给它分开。带一块引起来这个输入法的问题吗。难道是有一个斜杠有问题了?重写一遍,ETC下的轻点。T。不要那环境有问题了,退出来啊啊对对对,我我错了错了忘了加内容,忘了加内容不是这个意思,忘了加那。
23:13
对。命令写错了,我说呢?忘了加内前面还加着呢,那这个也要加内,就要加内加内,但是你加内容的话,你看这个格式就不对了。这格式就不对了啊,所以呢,我们一定要加双引号或者单引号啊,这个地方一定要加上啊,我们就要加上这个。引号引起来。好,这是我们看到的内容,然后I呢是忽略到。那这个呢,是根据节点编号来讲,根据节点编号来讲,嗯,节点编号呢,比方说。啊,这个文件的节点编号多少,瞅瞅这么大。
24:05
那我们就可以根据节点编号来搜。爱诺的。I不叫这个是吧,叫什么。叫I number I number I number啊这样的话呢,根据几点编号来搜啊。那这个是根据和它相同的文件的。节点标号,比方说你找一个文件名,和它的这个节点的这个名称不一样,但是呢节点标号一样,也就是硬链接关系,也可以加C是这样。另一个呢,就是我们要找连接数是多少个的。啊,这个可以根据来实现,然后呢,我们还可以根据这个表达式,不过这个这个表达式呢,要匹配的是整个路径,不要光写文件名路本身啊,什么意思啊,就是一定要把路径匹配好啊,比方说我们这个地方你要搜索。
25:11
你要搜索这个正则表达式里面。啊表示com结尾的,那com结尾的怎么表示呢。那com结尾的你要写上。怎么写?看结尾你要这样写。这是不行的啊。星点。加Dollar前面是斜杠点是吧,但是这样写行不行呢,你看。有问题,当然我们实际上我们也可以不用智能表达式啊,就是我们刚才说过可以用内蒙星点。
26:00
Stop。我们发现确实是有很多的,对不对,那么刚才这个正则表达式为什么这样写不行呢?因为它要求匹配的是整个文件的路径。而不光写它的文件名,所以你应该是从头开始匹配知道吧,所以光写这个是不行的,那前面加上了点心。知道吧,这前面是任何字符,看到了吗?所以要匹配它的整个全路径啊,就是这写的这个。所以这个地方要注意它的细节啊,这样。需要注意这一点。好了。那另外呢,就是我们还可以根据文件的所有者,所属组。比方说user。Group u ID JD。
27:01
啊,这个好说,那比方说我们去搜王的文件。我从根开始搜。那房子文件所有者啊。哎,这些文件就是文件。啊,当然,那我也看不出来呀,你光列了个文件名,我咋知道是所有者真的是王呢?哎,我们后面有一个动作。这个动作呢,默认实际上相当于跟了个。不过呢,这个print呢,它只是列出了文件名。所以print呢,这个默认动作显示的不详细了。要显示详细一点,我们可以跟另外一个动作。Ella。注意,这个动作呢,不是Linux命令啊,虽然他长得有点像雷命令。他就是放在里面自己人家自带的一个动作。
28:01
哎,恰恰也就LS而已。那这个LS呢,也可以把它想象成就是LS-L。他就会把文件的属性列出来。看到了吧。那这边我们就看到了文件的详细信息,其中呢,这就能看到作者。是吧,啊,这是find。当然,我们有没有出现这样的文件,就是没有所有者,没有所属组的文件。什么时候会出现这种情况呢?那比方说你建了一个张三用户还是李四用户?结果呢,这个账户后来被删了,但是说文件可能没删,对不对,哎,所以这个文件没所有者了,就有可能。
29:00
丢了。好。那我这儿就建个用户吧。啊,我看刚才是魏瑞蒋旭是吧,好,那我们就蒋旭。蒋总是吧,啊,那么蒋总建立起来以后,他有加目录后蒋序。大家看,那现在呢,讲述的工作就是删掉的意思啊,我把讲述删了。删了以后,这些文件自然就没主了。是不是那没主了,那我们换去搜跟下no user,这是不是就是无主的文件。No user。哎,啊,当然我们也可以加个LS看一看,你看这些文件是不是真的是。
30:07
没有主的问题。啊,同样的道理也可以讲,找那个什么没有所属组的,那就是no group啊,No group,那把这个换成group就行,当然对于这个文件来讲,它没有所有者,但是它是不是有所有搜索组啊,所以这个文件就不应该再列出来了。No group。啊,大家看你看这个邮箱就不再列出来了啊啊,这就是文件的。所有者速度。另外我们也可以根据文件的类型。那文件类型的七种类型大家能想起来吗?
31:00
还能想起来吗?面试不也老问这个吗?啊,七种类型啊,那后面跟上这个类型的字母就行了,那比方说我就想找所有的软链接文件。那所有的软链接文件要跟跟下面这个ETC下,我找找所有的软链接文件,那就是tag。跟上一个L,哎,这就是软文件,但是软文件我咋知道呢,你们看看LS这不就看见了,你看小箭头指着是不是这就是连接啊,当然这也能看到这个L开头小电镜。好,我想只列文件夹。那就是haved,这是就都是文件夹啊,所以这样的话呢,还是很简单的啊。好,另外我们还可以用empty empty呢就是找空。
32:03
文件或者空目录。那比方说我们要找空的,Find一下在ETC下有没有空的,叫empty啊,这些都是空的。当然这些空的呢,有的可能是空文件夹,我现在找的不是空文件夹,我找的是空文件。文件怎么找啊?就是普通文件不是文件夹,哎,那就是type,然后嘞,嗯,文件文件,那比方说就是普通文件嘛,你像因为我们七种文件,实际上其他文件类型,你看设备文件呀,字符文件呀,块设备什么字符设备,包括套接字文件,管道文件,呃包括还有一些这个什么,呃,其他还有什么文件字符,呃这个这个。
33:04
文件夹文件对吧,还有普通文件,链接文件,你看其他文件,实际上这些都是特殊文件,我们用关注啊,主要关注的就是一般文件,一般文件就是iPhone。啊,那这样就可以了,大家看这些文件呢,都是一般文件,就普通文件,不是特殊文件。那那它的大小大家看是不是就是零了。对吧,这看。要控制一点。啊。那当然我们这个地方也可以再加上一些什么或者的关系,并且的关系。那获得的关系呢,是。AOA呢是,并且实际上这个是默认的,就是如果我们不写的话,这实际上是个默认关系,就是我这不空是一个条件啊,文件类型也是一个条件,这两个条件。
34:02
是并且的关系,听懂了吧,就是说你不仅是空,你还得必须是个文件。哎,是这个意思,那如果你想表示或者关系,你怎么表示啊,或者呢,就是刚才说的杠O杠一加也行,不加也行,因为它默认就是并且所以可以不加高呢,是或者。当然这些或者那那那就多了,因为它空反正是空的就行,管你啥文件,那再加上或者是文文件,那这不就更多了吗。你只要是普通文件或者空空的,它都可以列出来,那就多了去了。对吧,啊,当然还有定,还有否定。否定呢,就是not啊,或者呢,加个叹号。叹号。那这个地方我们用叹号或者not去表示否定,那比方说我要找的是空,但是不是文件夹,那怎么弄呢?那文件夹不是D吗?那么是不是空就是。
35:05
空的,但不能是文件夹,是不是加note就可以了。当然,你也可以用写叹号。那这样的话呢,就列出来了,这些全都是空的,但是不是文件夹。啊,当然有个问题。我想看看这些文件的属性咋看啊?是不是这个啊,那这个执行结果有多少个呀?啊600多个,那看600多个啊600多个好,那现在呢,我们再去咨询一下L。好,我们看到这里面文件的类型。都是横线开头。横线开头。有链接文件,但是我们看到是回空吗。
36:03
是为空吗?不为空啊,那这个好奇怪啊,那我们看看有多少个啊。刚才是多少个?那这个怎么好像是有点儿对不上号呢。那这里面呢,需要注意。这两个写法之所以对不上号,原因是什么原因?大家看到啊,这边都有空吗。那么都是货,都是文件夹。无非就是这变了一下吧,这个多了个SLS,这没有LS,怎么这个这个多了个LS,怎么就不一样了呢?
37:00
哎,实际上呢,这个地方有一个小小的问题,就是你这写LS。实际上,他认为。这是一。他认为这是一组。啥意思啊,就是说他把那个非空的,就是不是文件夹的文件。列出来了,那空文件它就不列了,因为它过的关系这样写,实际上我们就相当于把它括起来了,大家明白了吗?是这个意思。为什么呢?因为我们或者和并且的优先级不一样,实际上他俩是并且的关系。结果呢,并且呢,优先级还高,那他俩还先执行了。就相当于这个意思。所以最终你看的结果就不一样了。
38:00
所以我们刚才要真的想实现这个目的,你这边搜出来的文件631,但是你又想看到它的属性,那怎么办?哎,括号括起来,你只有括起来才能让它作为一个整体,但是呢,括起来不能这直接写,你可以加个转义还。哎,然后再敲。LS,听懂了吧,这样就行了啊,待会我们统计一下个数看看对吗?对上了吧,对上就行。理解了吧,所以它这个地方它是并且优先级比拓要高。并且你即使在后面写它也是优先做,并且计算听懂了吧,所以这个细节希望大家能够。记住了啊,你要想提高先运算货,那你就把它括起来。啊,否则他就会优先运算并且的关系。
39:00
啊,那这个案例呢,实际上是我刚才提到的。另外还有一个德蒙根定律,德温定律呢,这个是数学上的一个公式了,相当于。非A或非B等于非括号A且B。CA且非B等于非括号A或B。记公式大家熟吗?这个是高中学的吧,高中没学过吗?教材不一样是吧,比如我学过你没学过啊,这个东西实际上就是个逻辑上的一个公式嘛,或许老师讲了,但是没可能你没有印象了。
40:00
啊,说实在的,这个记不住也正常啊,别说这个了,简单的三角函数我都记不住,三角函数不是有四个,什么正弦余弦,什么乱七八糟的啊,什么考aging啊啊,他那到底哪个边出哪个边,反正我是搞不清现在啊,哪个边出哪个边。那你看理贯还有印象,理贯学过是吧?理贯学过,你们其他人没学过,老师没教,那你没上高中呗,你直接上大学的意思吗?啊,那可能是。好,那下面咱们来画一下图,呃,这个李怪说了,高一就学过集合。那这个集合说中专没学数学中胡说中专不上数学,你这骗我没上过中专吗?虽然我没上过中专,我也知道中专肯定会开数,数学语文的,英语肯定得有吧,这是本科啊,大学都学这个呀。
41:31
啊,大学没语文倒是有可能,中专肯定数学是有的,你中专上不学,大学还要学数学。好,那那那我们接着来啊,接着来。那我们这儿有一个集合啊,这个集合呢,用方框来表示全部的所有内容啊,就是100%,这就是这个100%,那这里面呢,有两个小集合。
42:00
一个是第一个圆圈A,第一个第二个是圆圈B,那这个A第一个圆圈是A,第二个圆圈是B。那当然我们按照这个图的话呢,我们发现A和B是有交集的,那么现在我们按照这个圆圈交集,是不是无形中把这个分割出来的整个集合可以描述成。不同的区域,比方说光是A没有交集的部分,我们用E来表示。这个它交集的这部分,我用二表示B这部分没有交集这部分三表示,除此之外是不是也有四就是最外圈这个。是吧,好,那现在我们来说非非那就是不是A呗,那么非说的是谁呢?非那不是A,那自然你觉得是谁呀?那那不是一,也不能是二,因为一和二都属于A,是不是只能是3434啊。
43:11
然后呢,BCB是谁呀啊非B,那就不能是二,也不能是314呗。是吧,哎,那它是或者是或者一或者那是不是就都有了,那啥不就134吗?这不得到的结果就是非A或非B就是134。啊,那么它等于不等于A且B非呢?那我们先说A且BA且B,就是必须是A,并且还得除于B,是不是实际上就是A与BA吧,是吧?且BA且BA是什么?那是不是就是二非一取反,那你想一取反,那除了那剩下的就是谁134你说相等不相等啊,相等。
44:04
那第二公式我就不说了,给你补补中专课程。是吧,这个公式好理解吧,啊就这意思啊,啊这个意思。好,那这是我们刚才给大家讲的这样的一个数学公式啊。啊,那这个数学公式明白了以后呢,那我们再稍后用到这种稍微绕一点的就知道怎么回事了啊,那大家看一下这个这个命令。那这个命令它是什么意思啊,就是这个文件夹并且是空的是不是啊,而且呢,括起来了,来来了一个反。那样你照这公式的话,那应该是什么呀?就这个吗?是不是就这个公式啊,是就这公式吗?那展出来的话,它就应该等价于什么,等价于不是D或者什么不是空。
45:13
是不是最终就是这样的一个效果了。啊,那咱们来试试啊,这是两种不同的写法。啊,那我们就在贝塔里做个实验吧。那我们就建A文件。B文件再建文件夹。第一、第二。啊,然后再再借一些对空的东西啊,比方说我们拷一些文件过来给第二,第二就对空了,然后呢,再拷一个文件过来叫C好,所以是有空有有非空的好,那按照刚才的这个结果呢,就是我们去找一下。
46:04
好,大家看,那这个命令呢,就是找。文件夹,并且是空的。还排除了,那就是不是空的定价都要呗。对吧,那不是空文件夹都要那谁剩下的是谁呢。就是这些。大家看是文件夹的是谁?空学件只有一个,就是那个第一,大家看第一吧,A区反不对,除了第一以前,除了第一以外的其他文件。啊,那我们除了这种写法,我们刚才说了,还可以把它按照得分的利率转化成这种形式。是不是这个形式啊。啊,套利公式,套利公式啊,现在我们的写法呢,实际上是这个写法。
47:03
你把它转换成这种写法,转换这种写法,那不就是CA。呃,里面是and是吧,And,那and应该是这个,那应该变成这个样子,就是一旦把这个画画号或打开,然后去掉以后,这个叹号分别和后面的两个集合组合,然后中间要把它取反。原来是并且,那你这就得变成,或者原来是,或者这就得变成并且,所以我们现在看你看刚才呢,我们是里面是一个。并且所以我们把它展开。这是不是就变成或者。看结果跟我们刚才写这个写法是不是效果是一样的。看明白了吗?那最终查出来的就是。空文件夹不要,除此之外都要。
48:01
是不是这意思?当然了,我们如果换一个写法。换一个写法,我换成这种写法,杠O,这是啥意思?这是啥意思?文件夹的或者是空的。去吧。那就是文件夹我不要,空的我也不要。是吧,空的也不要,那只留下了什么。不是空的。文件。对不对,这不都是不是空文件吗。不是空的文件啊,这不就是留下了。啊,当然,那你也可以把它叹号给他拿出来,变成这个样子,这个也一样吗?
49:02
啊,刚才不是讲了德,你就把这个换一下就行了,照着这个德定律写就行。好,那这是刚才给大家说的啊,那你看这样的写法,这个是什么意思。这啥意思?这是不是王的文件?并且也不能是马哥的文件,哎,就这意思。那比方说find后不能是王的文件,这个盖可以省略不写。
50:01
马克的文件。你看这些文件都是人家。贾旭的。啊,当然。这个写法。看出来的是不是都是不是马哥的也不是问题吧。当然,这些文件是没有所有者的。好。那你看这个就是不是所有者root不是。文件名是F星的。把它打开看啊,也可以把它换成括号括起来,括号括起来呢,应该这个地方有一个斜线,应该有个斜线。
51:01
不写斜线这个地方这样写是有问题的,那我们来先执行一下。要转移这个地方要有个斜线。要不他加些。这样才对啊,当然我这没有符合条件的文件。那他这找的时候不是root的,并且文件名不是root的,那这里面没有没有不是root的文件呗,全是root全是root的。是吧,那如果我要建一个王的文件,比如说啊,看不想建一个王,那这样的话呢,我们再找一找。你看找到了,看到了吧,那这个是不是就不符合它对应的这个条件对吧。所以这个地方少了一个斜线啊,少了一个斜线,这个斜线要加下面这个都要带斜线的啊。
52:02
这要再谢谢。好,那接下来咱们来看文件夹的排除。在找文件的时候呢,有的时候有些文件夹不想不想找,我想把它过滤掉。啊,比方说我想在ETC下找所有的。com文件。ETC下找所有的com文件呢,我们可以直接这么写,直接这么写。这么写。但是我有一个文件夹不想看。啊,比方说这边呢,有一个叫啊这个文件夹,这个文件夹我不想搜了。啊,其下其他文件夹我想搜想把它去掉,那这个要想去的话怎么去呢?诶我们这边有一个叫的。
53:00
这样的一个条件,Honey呢,就是剪剪切的意思。啊,就是把那个树枝啊给它剪断剪切,那这个剪切配合这个pass。他俩一组合,就把这个特定的目录呢给它砍掉了。啊,别忘了后面要加个杠O。那我们来试一试,看看这样写啊。好,把这个文件夹替换成我们目前现在想。不想搜索的文件夹。好,那这个作用呢,就是从ETC目录下搜看文件,但这个文件夹不搜,为什么?因为这个文件夹备。
54:06
那我们说过呢,就是景气的意思,大家看啊,这个是你要指定的路径。这两个呢,实际上都是搜索条件,不过呢,由于他们是并且的关系,是不是优先计算。优先计算完了以后,这个目录是不是就被剪切掉了?剪辑掉了以后杠O或者。半欧或者是不是再去找com,从而就把epc下的。写这个目录给去掉了,大家看是不是就列出来了。你看这里面还有那个那个文件夹里面的文件吗。我们看到是不是光有的这个空目录了。再也不会显示那里面的这个看文件就去掉了啊。当然你也可以去掉多个啊,如果去掉多个,那你就这么写,把每个文件夹都写上括号括起来。
55:02
哎,那比方说我们再去去掉一个,比方说CD这个我就不想要了。那CD不想要了,那你可以再写一个。再写一个,怎么写呢?杠O杠。然后把这个也写上去就可。C跟DETC。然后这个呢,要作为一个整体。作为一个整体。嗯,应该是在外面。做一个整体。杠O为什么要作为一个括号括起来,我说过理由了,因为这有个杠A,这个杠A如果你不加小括号,它是不是优先计算它了,那这个相当于就不不起作用了,所以一定要把它括起来,作为一个整体。啊,这样来执行。诶,看看这中间哪出了问题。
56:02
呃,杠O。Pass。Has。我操。ETC。Pass。哎,就少个空格好,那这样的话呢,我们来看这边C是不是也给排除掉了,Security是不是也排除掉了。你看其他的是不是该找找。这就是这样的一个逻辑。啊。那接着我们在文件查找的时候呢,还可以。尤其这两个文件夹,这两个文件夹啊,大家在文件搜索的时候,一般来讲尽可能把它排除,是这样的,为什么你要把它排除了呢?因为这两个文件夹本身它并不是真实目录。
57:04
我们说过这两个目录呢,实际上是虚拟目录。这个目录存放的是什么呢?内存数据。它不是磁盘文件,所以这两个目录你搜它没有意义。所以到这时候我们在搜索的时候,会把这两个给它抓掉。知道吧,来过滤掉啊,可以用这种方法。好,那接下来看看文件的大小。那文件大小呢,我们可以加上一个size来后面跟上一个值。这个地方的值呢,千万不要注意。那他写的这个值并不是说一个精确值啊,比方说我们size写上一个多大多大,你看我这呢,创建一个文件啊,我们就在这对他下建一个文件。
58:00
啊,我去建一个DD,用这个,因为DD命令可以精确的控制文件大小。啊,比方说我们就建一个F1。这个文件呢,是单个字节。啊,然后我们比方说我们1K一个块,那么这个是6K。这个6K呢,就是六个块一个K,一个块是1K,六个块那就是6K,所以这个文件不大不小,正好是6K。6144好,那现在呢,我们把它换成一个字节,然后我们按照这个6000来算这个6000,注意啊,一。嗯。09:59。然后大家看这边呢,现在是一个块是一个字节,总共6000个块,那就是6000个字节,那么6000个字节这个算下来不到5K吧,啊,那我们再再写个5K的吧,啊,再写个5K的。
59:14
超过5K了啊,超过5K数学这说的这个。5K你看一下。嗯。再来一个文件F2把原来的给覆盖了,好那大家看这里面这个F1是5K f2是6K,好,那现在呢,我们给它创建一个介于5K和6K之间的一个文件啊,那我们就直接写一个,这个是6000,我把F1给负债了。
60:06
嗯。好F3好,然后呢,我们在这再写一个这个。六幺。好,那这样的话,我构建了几个文件,好,那大家看啊。构建了构建了几个文件。三。三。61F,好了,那大家看我这里面故意构建了好几个文件,这个怎么这么大呀,你刚才写了一个多大的?啊,这写了一个加单位,然后这个是六。
61:08
啊,这个是。右腰,左腰。5000。随便写几个吧。好,那现在我们就构建出了这样的一个几个文件啊。F。好,那现在我们构建了这几个文件以后呢,我们去搜一下啊,搜什么呢?搜文件大小是6K的,那你看我们搜文件大小写的是6K,那里来讲符合条件的有谁呀,是不是就是这个,因为它是6K。对吧,但是你发现没有,它找出来的并不是一个。
62:04
那找出来怎么这么多呀?你看这些文件的大小都多大呀?哎,那这个东西怎么来的呢?实际上是这个所谓的6K,它不是精确6K,它这个6K啊,说的是6K以下到5K之间。所以你写这个单位,它实际上是减一就是6K,减一就是5K 5K到6K之间。啊,而且不包括5K,那不包括5K,我们刚才定义了一个5K的文件。这个这个是不是就是标准的5K,它是大于5K小于等于6K。明白吧,所以呢,只要是比这个5120大一点点到6144之间的内容,我会给你列出。
63:04
啊,所以呢,我们现在你看哪怕多一点点啊,比方说我们在创建一个这个是F7。那我们多一个字节,就比这个5K多一个字节。他是不是应该能找出来。看到了吗?它不包括这个这个。F啊,就是5K吗?当然这个地方就和你的搜索密切有关了,如果我就写一个什么呢,我就写一个6144。那你觉得他找到了谁?四这不也是6K吗?对吧,那如果我写6144意味着什么。那它这个单位呢,你这加上C字节啊,这个加上CC是表示字节,那我这没加没加就不行加上C啊字节。
64:10
大家看你加CC字节,它只搜到了F。为什么只搜到来半?因为F2符合6144~6143之间。减一嘛,61436144减一,但是它不包括三,那不也就实际上也就6144。对吧,所以大家发现没有,你写6K和写这个6144还真不一样。因为它减一的话呢,是以当前这个后面这个单位来减的。对不对啊,所以大家注意它的这个搜索条件啊,当然他这么设计的话,表面上感觉挺别扭。但实际上有合理,你想你找文件哪有那规规矩矩那么大呀,一点不落,一点不少,就一个字,一字不差,就那么多,这种文件是不是不也实际上很少啊,它范围搜索这个是更合理的啊。
65:11
然后还是这个,这个呢表示的是零到减一,那换句话说,如果我减6K。那减6K的话呢,它找到的就是应该是5K以内的文件。零到5K包括5K。大家看这回咱们看F1找到了吧,F1不就符合5K的标准。对不对啊,F5也不。啊,那么同样道理还有加五加6K,加6K呢,当然就是6K以上,只要比6K大都行,那就是加六。
66:00
那我这还没有60以上的。那构建一个6K以上的6K标准大小。是六四是吧,啊六幺哪怕多一个字节是不是就可以。对不对,哎,那这样的话呢,我们就可以找到6144 6145就行。好,那现在我们来看F8 F8这个文件,看能不能找到,找到了吧。
我来说两句