Linux基础命令4

2023-12-13 10:02:01

find查找操作

1.文件名

上图中,一共有4个部分,分别是find,搜索路径,-name,文件名

find加上文件的路径(也就是要查找的文件在根目录下的usr目录下的bin目录底下)

加上? ?-name? ?加上文件名(要查找的文件的名字)

找到了就显示那个文件的当前路径

要是只有一个大范围的比如/usr,那么它底下的PS就有很多个,在不同路径下面

2.过去的n分钟

也是一共4个部分

分别是find,搜索路径,-cmin,-n(n就是几分钟)

find加上路径

加上? ?-cmin? ??加上? ?-几分钟

例如这个意思就是过去10分钟内在那条路径下,做出修改过的文件

如果过去10分钟内没有做出过修改,则没有显示

在过去30分钟内做出修改的文件一共就是这些

如果有时候忘记了文件名字,或者只记得名字中的部分,可以像上图中写一个* .c,

* .c,*? ?就是所有的意思,这句话的意思就是查找所有的带有? ?.c? ?的文件

然后这就是所有的? ?.c? ?文件

2.过去的n天内

例如查找在quzijie路径下,过去5天做出修改的文件,这个就会有很多了

1天内也有很多

grep:过滤命令

用vim建一个test.c文件,里面写上这些内容

然后用cat命令把文件内容打印出来

现在就用grep命令来过滤出文件里面所包含的一些字符串

例如过滤出上面test.c文件里的hello字符串

grep? ?加上要过滤的字符串? ?加上包含字符串的文件名(共3部分,grep? 字符串? ?文件名)

那么所有带有完整的hello字符串(包含hello的也行)的就出来了(必须是完整的,同样的hello)

如果要不区分字符串中字母的大小写,就在grep后面加上? ?-i

(共4部分,grep? ? -i? ? 字符串? ?文件名)

可以看到大写的Hello也出来了

grep后面的参数很多(类似于? ?-i? ),后面用到时用man查找帮助手册就行

例如,加上? ?-c,就是包含hello的总共有2行

然后命令参数 i和c? 作用叠加使用,就是不区分大小写字母的hello字符串一共有4行

再例如? ?-n:就是把过滤出来的包含字符串的内容的所在行的行号,也标上告诉你

再例如? ?-v:就是取反的意思。列找出不包含字符串hello的内容

总结:grep就是用来过滤特定内容的命令

除了过滤,grep还可以用来文件搜索,但这个搜索要结合管道——|

例如,要搜索文件PS

而这句话前半句的意思是显示(ls)usr目录底下的bin目录底下的所有东西,但这个就太多了,如图

那么就可以用grep来过滤一下,只要搜索路径底下的文件名中包含PS字符串的文件,就grep PS来过滤出文件名中包含PS字符串文件,也就是查找出文件名中包含PS字符串文件

所以这整句话的意思是,显示前半句话的内容,但因为太多了,就通过管道(|)来grep过滤一下想要的(ps)内容,减少不必要的内容显示

管道——|——将前一个命令的输出结果作为后一个命令的输入

看例1:

touch(创建普通文件命令)后面可以跟多个文件名,可以一起创建

如上图,一次性创建? test.o? test.x? test.cpp? 共3个文件

然后ls看到创建成功了

然后通过管道,|前面的就是输出结果,作为? ?|? ?后面的输入

再看例2:

输出结果做输入的是

因为输出太多,通过管道来grep过滤,带有sh的

wc:统计文件中某些东西的命令——记不住参数的话就man wc

用这个a.c 文件

wc命令一共有3部分(wc? ? ? ?参数(-w:统计后面文件中单词个数)? ? 文件名)

下图中就是2个单词,hello和world

输出就是单词个数加上文件名,也就是有几个单词? ? ? 在这个文件中

而? ?-c:就是告诉你文件中总共有几个字符(一个字母占一个字符,一个空格占2个字符)所以是12

而? ?-l:就是告诉你文件中总共有几行

可以看到就1行

文章来源:https://blog.csdn.net/wzdxsa/article/details/134565647
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。