00:00
我们接着为大家介绍Linux实用指令里边的搜索查询,查找,这这个啊,这个大类的相关指令好不好,来我们来看一下。好,先把它放在我们的笔记里边去。那给他来一个标题,这是我们的又一个第二,呃,又一个类别的,那么在这个搜搜,呃搜寻啊,搜索查找类里边。那么我们要学的指令呢?大概有这么几种。大概有这么三种,第一个呢,就是饭在这里。听这个名字大家知道它应该是去查找什么什么东西,对吧,第二个呢,是我们的local指令,这个呢,也是用来快速查找我们文件所在的目录的一条指令。另外一个呢,跟我们这个搜索查找相关的指令,就是grape指令,这个grape指令呢,可以查找文件内部的某一个关键词,以及它所在的行号,同时呢,往往它会它会跟我们管道符号。
01:12
就是管道指令竖杠,一个一一个竖杠啊,结合使用能够显示更强大的功能,那我们来一个个的介绍,我们先来看半的指令,各位半的指令呢,我们先来说一下它有哪些具体用法,然后呢,下边呢就有相关的应用实例。为大家介绍。好,我们来看看这里面有哪些东西需要给大家说啊,第一个犯的指令。好的,那范的指令呢,我们来给它一个标号,标题三啊,这做了一个介绍,对不对,就做了一个介绍,它的基本语法是find的,然后呢,这个地方写上搜索的范围,就是它是在哪个目录下来进行查找,然后后边是我们的一些选项。
02:00
那么有哪些?这个搜索范围是什么意思呢?就是搜索范围往往指的是在哪个目录下边,是从根目录搜索呢,还是从home目录下面或者root目录下面搜索,这个是有我们的用户来指定的,选项有哪些呢?我们来看一下,选项有哪些我们看一下。它的选项主要有这么一些,同学们看啊,我这里只列出了重要的三个,那有些同学说,呃,还有其他选项吗?其他选项也很多,那么我们就是把最常用的给同学们,呃,介绍一下。来走到这里来啊,这最常用的,也是最实用的,有些呢,咱们用的很少,我们就不再一个个的去给他介绍了,这是选项,那现在呢,我们直接给大家走案例。这有三个案例,我们就根据这个案例呢来学习范的指令的用法。来,走着。来看一下啊,来走一个。那我们看第一个案例是什么,第一个案例是什么,我们看一下。
03:03
低概率是。按文件名。根据名称查找home目录下面的hello.tk文件在哪里?OK,那我们看看这个指令应该怎么去写呢?看一下啊,那就是find。指定这个范围,范围就是home目录下面去按什么选项呢来看选项就是根据name文件名,我要查的是hello.tt1回车同学们看到没有,说在home目录下面也确实有个hello.t文件,这就找到了。找到了就这么就这么简单,对不对。再说一下啊,这个地方代表的是我们要查找的范围,这个地方同学们看这里这里这个地方就是我们的那个参数。选项叫选项,按名字来查这个地方,各位这个地方。就是我们要查找的文件是哪一个是哪一个文件,对吧,当然你这也可以用通配符,比如说用星号对吧,星号用的是比较多的,比如说我知道查找只要是tak文件的,我可以用星点什么什么来替代,嗯,OK,那这我们简单写一下,这里指的是什么呢?这里指的是查找搜索的范围。
04:21
对吧,搜索的范围。范围,这是一个,第二个这个参数表示什么意思呢?就是代表按名字来搜索,按照名字搜索,第三一个就是你要查找的是哪一个文件,对不对,文件名,文件名要查找的,要查找的。文件是谁?就这三个参数明白,把它复制粘贴到我们的笔记中去。拿到笔中去第二个题,同学们看一下,他说按照文件的拥有者来查找,比如说去查找OPT目录下面用户名为body的文件名,那文件有哪些?这个呢?很简单,这样写,Find指定范围,OPT按什么呢?User,谁呀,Nobody?
05:16
一回车哦,这上面没有,这上面没有那个nobody这个用户的。文件对吧,那我换一个,比如说我看有没有root的呀,就会车哦,发现root好多对吧,下面好多是root用户的文件,那总而言之,这个命令大家一定要记住。代表命令就是按照文件的拥有者来进行这个查找。对吧。按文件名文件的用户,呃,文件这个是属于哪个用户的这个这个标准来进行查找。那下面呢,我们再看。第三个案例,查找整个Linux系统下大于20兆的文件,这个很有用,为什么呢?就是说有些时候我们在呃,使用Linux过程中,我们突然发现磁盘。
06:07
变得小了,这有可能是因为你的日志文件过大造成的,那你就会用这个泛的指令来查找大文件,然后将其删除,甚至你可以用个下脚本。找到了过后,然后将它再删除,脚本一运行就非常的OK,好,那么我们来看这个指令怎么写呢?Find同样写范围按大小就是size,那么查找20兆就写个加号20M,注意这个M要写大写的M啊。不然的话要要错就诶如果你是按K,按照那个多少K来着,你写个K也可以,你比如像像我写大M1回车哦,你看在我们系统下面有这么多文件都是大于20兆的,你看这个文件。是吧,就是大于20兆的,你你列列一下看看是多大LS-OPT下面有个金庸。
07:02
金庸。对吧,Table键一补齐哦,我们发现这个文件真的是大于20兆,是什么呢?你看这里。是这样子的,但是因为我没带参数,所以我加个H。我加一个H,你看。我加一个H哦,你看大家看这个加一个参数H有什么用处呢?就是代表我们显示的时候,按照这个符符,符合我们这个人容易观察的这种方式来显示,你看H是human的意思,Human,那么这个就是28兆,28兆显示是大于20兆的,就要把它给筛选出来了,明白好,这就把它筛选出来了,明白了好,那现在呢,我们把这条指令给同学们粘过来。就是按照按照什么呀大小来进行这个。这个搜索的。这有一个大小。走一个。这句话的意思。大家看懂了没有?就是从根目录下面按照文件的大小来查找大于20兆的。
08:05
大于20兆的。好,把它放到这里来。那当然有些同学说了,说老师,如果我要查找小于20兆的,怎么写呢?那你这就是减N,减多少多少,就把这个加换成减,如果是等于呢,那就直接写这个N,你明白这意思吧,就是大于就是加。小呢就是减多少等于就直接写个N,明白吗?我也给同学们演示一下,比方说我这样去去写。我写个减,那这样就意味着什么意思呢?我要查找整个系统下。文件大小小于20兆的,那肯定这个很多了,对吧,可能很多很多啊,这个时候你发现找的太多推不出来,怎么办呢?按输入CTRL加C。就退出来了。终止这个这个检索明白好,如果我就要查找等于20兆怎么办呢,就等。
09:01
啊,这样子呢,嗯,他也会找啊,你看这个文件就刚好等于20兆,列一下看看是不是杠L。H。User she。An TT啊,看看是不是,哎,你看刚好等于20兆,刚好等于20兆,好,这是这是这几个用法,那么我也把它给同学们截取到笔记中去。哦,刚才这个指令太太长了啊,好,我把这个地方给大家看一下。这个是小于20兆的。对吧,小于20兆的。诶,这个地方是小于20兆的。对吧,把它放到比句中去,小于20兆的,还有等于20兆的又怎么去查询呢?等于22的,把这个减号拿掉。直接写就行了。直接写就OK。来,再来把这个截一下。
10:00
这个就是查找大小等于20兆的那种文件。那有些同学又说了,说老师那如果说我要查找20K的怎么办呢?20K的那你这个参数这个单位就变成相应的那个,那那个值就行了,比如说K代表代表是按照K的大小来做,兆是按照兆,按照多少兆,M是按照多少兆来来查询的,明白意思吧,比方说我现在这个二十二十兆,20兆我也可以这样写也行。我这样写,这样查也行,大家都知道一照。等于1024个K是这意思吧,那么二十二十兆等于多少K呢?你们算一下是吧,我们算一下20个兆。20兆乘以1024对不对,等于这么多K,那我也可以这样来诶,把这个把这个指令换成这个下面这种方式,呃,也是可以查到的find-size,然后呢,加多少呢?刚才的这个参数写上K回撤,你看是不是一样一样也可以查查找啊。
11:12
是不是一样,也可以查找这个K区,不区分大小写,来看一下。这个这个K不能去写大写的啊,不能写大写的,要写小写的K才可以明白,这个呢,你也不用去刻意的背,你也不用刻意的背,就说你自己试一下就可以出结果。好的,这是按照这个来查找。这个是按照这个大小。查找单位可以根据你的实际情况来进行调整。对吧,OK,这是我们讲的按照这按照什么,按照按照文件的大小来进行检索和查找,那同样有些同学老师如果说我想按照这个通配符来查找,可不可能,可不可以呢?比方说我现在给他出一个题,就说查找。
12:01
查找。查询根目录下,根目录下下。这个目录下所有。所有点TXT的文件,这个又怎么做呢?非常的简单,那你首先还是这样写,首先指定我们的范围,然后。然后这个因为它是按名字来做的嘛,就name新点TXT微车,你看这个时候检索的全部都是TTXT这个结尾的这种文件名明白吧,好这个也可以用啊,就是我们通配服务也是支持的。来,拿到我们的笔记中去。这是按照通配符来查找。多举几个例子。好的,那关于饭的一些常用的这个按名字,按用户名,按大小,我们就介绍到这里,那下边呢,我们继续为大家减讲讲另外一个指令叫no no,这个指令呢,它是这样子的,它可以快速定位文件路径,速度比较快,速度比较快,为什么它会变得很快呢?原因是这样子的local指令,先利用事先建立起来的系统中所有文件名称及路径的local数据库实现快速定位。
13:20
快速定位,为什么?因为local指令无需便利,整个文件系统查询速度较快,为了保证查询结构的准确度,管理员必须定期更新no的no的更新no这个时刻啊,那也就是说,呃,在执行no这个指令之前呢,我们必须先用一个update DB创建no k数据库。这点大家明白吗?说你要用local呢可以,但是它需要先建一个local数据库。这个创建no开数据库其实就是一个指令,执行一下就完了,至于他怎么建的楼开数据库跟我们没有关系,对吧,我们只是我们只知道这样用就行了,它的特点就是可以快速定位文件系统文件的路径。
14:11
文件的路径速度很快,那么我们来给同学们演示一把。我把这段这个说明拿到我们的笔记中,注意听啊,同学们注意听。最近讲。我把它放在我们笔记中。走一个。No指令。来把我们的文件整理一下。把我们的文件整理一下,先说一下,这是它的基本介绍,对吧,这是它的基本介绍。啊,这是它的基本介绍,我把这一段往这边挪一挪,Nokia搜索的文件,特别说明它。在运行第一次前,必须使用update update DB创建Nokia数据库,这个是必须要做的,然后再来定位你的文件来走一个,那么我们看看怎么用它啊,怎么用快速定位我们的文件呢?第一步,首先各位朋友,你先给我执行一个update。
15:12
这个指令就是来创建我们no数据库。注意,这个数据库建到建到哪里去了,我们不用关心。第二步就可以用了,就老。Cat。Look at。然后呢,写上,比如说我要见hello点。很快就定位了。如果你的文件系统很大,它的速度。那种优势就体现的更加明显。就是。我把这段呢,也给大家放到。那第一步是干什么?解释一下。这个就是创建我们low cat数据库。这个叫look hello,点贴心就是定位。这是创建我们的。
16:10
发现们,我把它拿到我们的笔记中去。好,同学们,这就是low输这个指令的一个使用,那下边呢,我们乘胜追击,我们再讲一个指令,叫grape指令和管道。这个人用的也是非常多的。哎,同学们想一个问题,刚才我们讲的这些个指令。刚才我们讲这。实际上呢,都是在这个。在这个Linux的这个系统里面去查找文件对不对。但是呢,我们有可能有这样的需求,我们可能需要在一个文件内部去查找一个关键字,有这种需求吗?肯定是有。这个文件很大,我们看看这个文件里面有没有一个关键词。或者有没有一个函数名?那这个时候呢,我们可以用。
17:04
那么这里我先给大家解释介绍一下管道符号是干什么的?注意听这句话啊,管道符号就是一个竖杠。表示将前一个命令的处理结果。注意听这句话表示将前面一。这个命令的处理结果。输出传递给后面的命令去处理。他把前面这个结果。交给后面这个命令去。进行处理。明白什么,就是相当于把两个指令怎么样。通过一个管道,这里连起来了。那么这个grape呢,往往会跟这个管道。他们是一对好朋友。那grape指令又是怎么用的呢?然后呢,写上查找内,查找内容的原。它的选项有杠N和杠I。那么我们看一个应用实例,朋友们。
18:00
案例一,请在哈点TXT文件中查找。Yes。并且显示。行号。我们通过这个案例,大家一下就能理解它是怎么用。我把它拿到我们的笔。拿到我们的笔。来案例走一票。走一下案例,大家一下就明白是。放到这里来。常用的选项有两个,一个是杠N,一个是杠小。那这杠N是代表显示行号杠小,还是忽略字母大小写?我们在。我们在进行这个,呃。查询的时候呢,就是杠N,就是把这个行号也显示出来。如果输了小I,就是在查找字母的时候,大小写我们就忽。那我给同学们演示一下对吧。
19:02
说的再多,不如一个案例来的直接。把这个案例走一下。大家立马就。我放到笔记中去了。来,我们一起完成。他说,啊,请在hello.t中间TXT文件中查找yes这个关键词所在的行。那首先呢,我们先看看home下面有没有这个文件。哦,后面下面真有一个hello txt文件,我们看看这个文件里面有东西没有啊朋友们。Cat一下。哈。我发现这个文件是个空的,那这样子。为了我们讲解方便呢,我们往里面输一点东西,我用vim来输点内容进去啊同学们。我就是为了做测试。哈喽。
20:02
哈喽。再来一个go gogo,再来一个YYY,再来一个yes,注意两两个yes了啊,再来一个哈。注意看在我们这个这个语句里面有两个意思,我们看看能不能查找到它来。我保存了啊,我保存。那保存过后呢,我们用grape这样来玩,它是这样玩的。首先呢,你。一下。大家都知道。孩子。TX哈,点T是不是把这个文件的内容。浏览出来呀。没问题吧,然后呢,我。什么呢,Yes。你看哦,他告诉你我找到了在这个文件里面,就他把K是把这个文件的内容是不是浏览出来啊。然后把这个内容交给谁呢?交给他。也就是这么去理解了。朋友们。
21:00
他得这么理解。这个指令执行完毕过后。实际上就是这个文件的内容。然后把这个内容干什么呢,交给这个证。这个指令干什么?如果有的话就显示出来了。但是呢,我们可能有这样一个需求,说你别只显示yes,你。它所在文件的行给我显示出来。哦,他是告诉你在这个文件的第四行和第七行。同学们去看一下。肯定是第四行和第。如果同学们说说老师,假设我想。这个yes,假设有个大小写,我怎么办呢?来,朋友们在。比方说。我在这个文件里面再写一个yes。有三个夜市了,但是呢,这个夜市。这个Y是大写的,看到没有。这个大写的。朋友们看一下。那我还用这个指令,我一回车,你发现他只找到两个。
22:03
那刚才我说这个大。大写的Y的意思没有出来,为什么呢?因为它默认是区分大小写的。如果你不想区分大小写,没问题。加一个参数小I回。车,同学们看到三个都找到了。啊,不难哈,不难。好,那现在呢?我把这个指令就给同学们放到笔记中去。一个是。一个是,呃,这个指令。这个指令它是。区分大小写的。这个指令是不区分大小写的。能理解吧?我在这儿给同学们。写一下这个是。区分。区分大小写。看清楚区分大小,写这个呢,它是不区分大小,为什么,因为我。
23:08
明白。好朋友们,我把这个放到我们的。好,各位那。关于我们这个Linux里边的这个搜索查找类的指令呢,最主要就这三个。在我们实际的开发中,用的也是最多的。这里要再强调一下这个管道。再说一下管道符号是干什么的?就是把前面的内容交给后面的指令去处理。中间做了一个什么呀。连接。那你如果说你这没有这个管道符,你看这个。明白了吗?明白啊。那这块呢,我们就先介绍到这里。
我来说两句