00:01
大家好。欢迎大家继续收看上微博的云算课程,我是沈超老师。这节课呢,我们还得来学习范啊。那。这节课我们来看一下find的逻辑运算服务,各位find支持一些稍微复杂点的搜索方式这样的逻辑,逻辑或或者逻辑费。我们先来解释一下这个逻辑运算。先来解释前两种。什么叫逻辑与什么叫逻辑货呢?哎,我们计算机或者说我们的电脑在进行逻辑运算的时候,我们计算机所有的数据是不是都是二进制0101对吧,那他会做两个两种逻辑运算。那如果一与一。各位,这里的语就是and的意思啊,也叫做逻辑语啊,其实也就可以叫and。它的结果是一。那一与零,结果是零。零与一,结果也是零,零与零。
01:00
结果也是。换句话说,如果要做逻辑与运算,它的左右相与的两个条件都要成立。都要为真结果才成立。那与逻辑与对应的叫做逻辑或运算,那它是什么?一或。一它的结果是一,那一或零呢?结果也是一,零或一呢?结果还是一,零或零。结果才是零,换句话说,或嘛或者吧,俩条件,只要有一个条件为真,结果就为真。这就是逻辑运算啊,与和货的这样的逻辑运算,那我们的范呢,也支持这样的逻辑运算,举个例子。我想。我想。在当前目录下搜索一下大于,大于,比如说大于1K的文件。对吧,那我们如果这样送,你会发现一件事什么。
02:01
S啊,加1K啊对,除了可以这个写K数之外,可以加减,加的意思就是大于,减的意思就是小于,那我们讲过了,K应该是小写对吧,那我们说大于1K的文件,你可以发现啊,他找到了这几个文件,但是它找到两步路。一个是当前目录,一个是test目录,那我们可以看到这个目录的大小,那当前目录是隐藏的,那我们干嘛。我们把这个隐藏的目录。我们把隐藏的给列出来。那你可以看到当前目录本身其实也是大于4K,当然这个点点是上级目录,它就不在这个目录下了,所以不会搜索出来,所以啊,你看我这里搜的时候搜加1K的,他搜到的除了有文件,还有干扰项是目录,那我的需求是我要的只是大于1K的文件,而不是不能,应该能包含目录,对吧?那这个时候就可以加逻辑语了,来A。
03:02
A,我说了逻辑与运算对吧,它可以同时运算两个条件,然后呢杠type type讲过了文件类型对吧?那我们这个搜的是什么?看逻辑语音算式俩条件。都成立。它的结果才成立。裁成的裁对阵对吧,那也就是说它不光要大于1K,而且还必须是普通文件才行,这样你可以看到啊,它过滤了刚刚的那两目录。对不对,这就是逻辑与运算啊,这就是这个逻辑运算,这个呃,可以组合出千变万化的东西,根据你的需要来做啊,你可以把多个条件放在这里,让它同时生效,OK。那这是逻辑语,那有逻辑语就会有逻辑或,那或的意思就是什么?俩条件只要成立一个就行,比如说我这里举个例子是在当前目录下搜索文件名是苍老师的,或者文件名是波老师的都行,那苍老师也行,波老师也行,我不跳啊,哪个老师都行,只要是老师都行啊,只要不是省老师就行,对不对?哎,这样的话就是说俩条件都成都成,那这样的话,你看我把这个换一下。
04:15
我刚刚用的是杠A,那我把它换成杠O,你可以看到啊是吗?刚刚是只要大于1K啊,这个是要大于1K,必须而且必须是普通文件对吧?那我现在这里就变成了大于1K也行,普通文件也行,那这个时候你就可以看到能找到目录的原因。能找到这个目录的原因是由于这个目录是大于1K,而能找到这个小文件的原因,这些文件其实都是空的啊,比如说这里面都是空的了,自己新建的没什么数据,那是由于是这个条件的原因,那也就说逻辑或是俩条件,只要成立一个条件就可以搜出来。这就是逻辑或和逻辑与的区别。各位,这种搜索算是这个范本中稍微比较复杂一点的搜索了啊。其中逻辑。
05:07
与比较常见两个条件病例用于排除干扰项,这个时候是比较常见的,最常见的就是我说了文件类型。我们搜的时候,比如说我我确定我只想要目录。比如说要写一个上程序,我想一办法,我想看看当前目录下有我当前目录下有哪些子目录,然后我想把子目录里面的内容重新编辑一遍,类似于自己写一个LS的界面。那这个时候首先条件就是你要判断当前目录下哪些是子目落,哪些是普通文件,这个东西要是没有泛断这样的搜索帮你来排除,如果光靠你自己写,可能还真简单的,那所以我说十尔编程,其实啊,我一直说12编程是所有语言当中最简单的语言,比其他所有语言都简单。12编程考验的其实不是你的对语言有多熟悉,它考验的是你对历史有多熟悉。
06:00
那如果你能想起来find有这样一个功能,你的程序就会非常简单,两三行就能结束。那如果你要想不起来,你你想想,光要判断一下目录和文件这事就麻烦了。对吧,好,所以这个逻辑更常用啊,逻辑货呢,这个就是跟他对应,必须要有那呃,如果能用到你还记得这事儿,其次还有一个叫做罗继飞。所谓的逻辑非就是指的是取散。那也就说看我这个例子啊。如果我不加这个杠。他的意思是不加这个杠dot,它的意思是不是在当前目录下搜索文件是苍老师的文件名,对吧?他加了杠dot呢,那就是当前目录下搜索不是文件名是苍老师文件啊,这个是这意思啊,我们试试,那我们搜一下杠内在当前目录下搜索是ABC的文件,它是不是找到的是ABC,那如果取反呢,注意啊。取反格式可以这样写,这种写法和杠not是一个意思。
07:05
OK,其次小心一件事,这个地方左右两侧必须有空格。各位,这是一个独立选项,刚out或者这个感叹号,所以它是左边右边都在有空格的,都在有空格,OK,好,这样的话他就会找,只要不是ABC的文件,就可以列数,看谁都有abcd,大写ABC都有,就是没有小写ABC,对吧,这就是取反的作用。啊,这个呢,也有还是能用到的啊知道一下,你看你怎么写吧,我为啥说两个格式都要说一下,为什么你们以后查资料查文档,那有可能人家这样写也行,那样写也行,你得能看懂对吧。这是我们的范的逻辑选项。然后呢,我们来讲一下find的其他选项,Find还支持一种杠eec和杠OK的选项。这个选项是干嘛的呢?
08:01
我们说首先。杠EE反斜杠分号,这是标准格式。只要写杠eec后面就必须写反斜杠封口。啊,这是格式是这样的记的格式,那它的那这个作用是什么,它的作用是。把命令一的结果。作为命令二的操作对象,用命令二去操作它。也可以这样理解,啥事儿?把命令一搜索出来的结果保存在这个大括号里。然后用命令二去搜索这个大括号,哎,这就是EE的作用,我再说一遍。那eec的作用是把命令一的结果,也就是find的搜索的结果交给命令二来处理,由命令二来处理,也就是说把它的结果保存在大括号里,作为参数,由命令二来处理。这样的方法,那为什么要用这个,我们试一下,你们看啊,我前面说一件事,你记得吗?
09:02
比如说这个。我说我要搜大于不行,这个不行,要杠A啊,杠O太多了,我要搜大于1K。并且是普通文件文件,它是不是列出来了一堆文件表。对吧,但是这些文件真的是大于1K吗?真的是这个普通文件吗?我是不是还得干嘛?我是不是还得杠?通过LS来查我是不是一个一个对照,比如说这还有个隐藏的,我是不是还得跟他对照哪吧,History是吧,呃,我靠,找起来很不方便。看是不是大于1K,那这是不是很不方便啊,对吧,我查出来的结果我要确认一下,我还得再手工去找,这里边还好录制下就这么点文件,你要是ETC下的上千个几千个文件,你在里面找,结果很很难找,对吧,所以我完全就可以这样看。Yes I like。
10:00
杠LH。小心。我提醒你啊,这个格式首先有EE就必须有反斜杠分号。其次这个中间有空格,再一个提醒你。这个命令命令二不识别,别名也在这里写LL汇报错了,必须是正常的标准命令啊,才可以识别,那这样的话,看把找到的结果是不是就通过第二个命令执行了,你看啥意思是不是,就是把命令一看,通过这两个条件找出来了这几个文件,然后呢,把它放在了这个中括号里,当成参数,由命令二去处理这个参数。看明白了吗?所以我说eecc的作用是命令一的结果,作为命令二的操作对象,由命令二去操作它,OK。这就是eec的作用。其实我告诉你啊,这条命的最常见的例子就是杠,就是说把找到了结果干嘛。
11:07
显示一下详细信息,让我们能看懂,要不然还得一个一个手工找,不方便。那其次啊,我还能干嘛,比如说。我想这样看,在log下,在跟下的log下,我们讲过了吧,这个目录对吧。啊,然后找什么找时间,找十天前的文件,我认为。哎。哦哦,嗨,脑子晕了,我说的感觉不对啊嘛,小的老阁下早上刚起床,这个有点有点不清醒了,好了,我们找啥找时间,找十天前出现的文件。在log下。十天前建立了。对吧,那这个时候我们可能会找到一些文件,那这个时候我说,哎,我不推荐你拿到日志来做这个实验,那我想说啥,但是比如说你自己有一些目录保存数据了,比如说保存临时文件的数据,比如说去看目录。
12:13
然后呢,我就认为有十天就够了,那超出十天的文件,我觉得我再也用不着了,我是不是就可以用贩子搜索出来批量把它给干掉,那我是不是就可以干嘛在这后面执行M。对吧,这样的话是不是就是命令一的结果。交给那由他来操作它,把它删了就完了,当然这个实验不能回撤啊,我再说虽然这些日志在日志当中是十天没没人动了,没人访问了,但是这都是重要系统日志,是不能随意删的,那这种操作最适合的就是你自己的临时文件,你自己保存了一些什么临时文件,你30天没碰它,那这个东西基本上你就用不着了,可以找出来把它删掉。对吧,但是。这个时候eec就讨厌了,为啥他会直接一回撤,这条命令就会执行?
13:03
然后导致你就会把它全删掉,误山的距离大,那怎么办?这种情况下如果是山,你就可以把它换成OK。OK和eecc的作用就在于eecc是命令二、执行的时候从头到尾直接执行,不问你,OK是每执行一次命令。他都会问你一遍,你真的要执行吗?有个返回的余地,那我们试试啊,他问你真的要看命令二是I'm吗?操作的第一个对象是不是它,你真的要删它吗?No,那就没删Y是不是就是删了,真的吗?真的吗?真的吗?不删,看到了这就是OK的作用,我们再查一下,看刚刚那个文件没删掉。对吧,但是如果你要是打成麦,他就会把它删掉,这就是。OK和。也是一身的作用。啊,Eec呢,就是直接处理了那。OK呢,OK呢是什么是会它进行,它会进行交互式的这种处理,先询问,然后得到确认之后才会执行,Exec就会直接处理,所以exec适合执行,不是那么就是不适合执行,删除就查一下看看最合适。
14:14
但是呢OK呢,就适合执行删除,你要批量删除OK,可以有一个返回余地,OK,但是话这么说,其实我们还是不太建议因VR直接执行删除就算就OK,呃,它出错的几率还是比较大的,好各位。这就是我们犯的这个功能,各位讲到现在我们犯的中医就基讲完了,它的基本功能,我认为比较常见的功能我们就说完了。那我们简单回顾一下,那我们讲了什么?首先我们是不是学了范的用。命令来这个文件名数来进行搜索,其次可以搜索大小,那大小的时候这里也有加减啊,就是大于和小于的意思,然后呢,注意它的大小单位,然后可以按照时间来搜索。
15:03
可以按照他的权限来操索,权限的加起来比较恶心啊,实在这个劲儿搞不太懂就没事儿,这个事儿其实用到的几率不大,碰到的时候你就记得人家在文档里照着写下,你就写下,写简你就写件就行,然后可以按照这个用户的所有者来搜,主要搜的是垃圾文件,然后我们可以搜索文件类型。其次我们讲了几个稍微复杂点的联合的逻辑运算啊,逻辑与逻辑或逻辑非,然后讲了eec和OK这样两个选项,它两个选项的基本作用都是把命令一的结果作为命令二的操作对象。区别在于EE是从头到尾直接执行,OK是命令二,每执行一次都会询问你一次啊,这样的区别。好了,那这节课的内容就是这样,我们下节课再见。
我来说两句