Linux面试_2

如何查找特定的文件

通过find指令

语法: find path [options] params
作用: 在指定目录下查找文件,任何位于参数前的字符串都将会被当做预查找的目录名.
如果不设置任何参数,则find指令将会当前目录下查找子目录及其文件,并且将查找到的子目录和文件全部进行显示.

案例:
本文件夹/或其子文件夹中包含一个文件taeget.java,查找到它:

find -name "target.java",然后就会返回target.java的路径


如果其他文件夹中有给文件target.java,那么我该如何进行全局查找:

find / -name "target.java", 然后它就会从根目录开始,一致递归去找该文件,找到了就返回target.java的文件路径了(其中/表示linux的根路径).


如果要查找全部以tar开头的所有文件路径怎么办?

find ~ -name "tar*",其中~表示去当前用户的home目录,*表示可以后面可以跟0个或者多个字符.


如果要查找全部以tar开头(不区分大小写)的所有文件路径怎么办?

find ~ -iname "tar*",*其中iname表示忽略大小写.

总结:
在这里插入图片描述


如何根据文件名检索文件内容

文本检索就要用到grep指令

grep全称: Global Reqular Expression Print
通过全称我们就可以知道–它是支持正则表达式(regular expression)的.

语法: grep [options] pattern file

作用: 查找文件里符合条件的字符串

如果不指定任何文件名称,则grep指令会等待用户输入包含haha的字符串, 例如输入grep "haha",它就会等待你输入字符串,而且要输入包含haha的字符串之后才会结束,然后返回haha所在行的内容.

案例:

如何实现查找全部文件名以tar开头的且包含mooc内容的所有文件

grep "mooc" tar*就可以找到所有包含mooc的且以tar开头的文件,返回文件名同时会输出目标字符串所在的行的所有内容.


管道操作符 | 的作用

作用:

  1. 可将指令连接起来,前一个指令的输出作为后一个指令的输入.
    在这里插入图片描述
    前提是前面的输入是正确的标准输入,不然后面的就执行不了,最后输出的时command3里面的数据

例子

执行find ~ -name "tar*",可以找到当前home目录下tar开头的文件.

上述功能也可以通过find ~ | grep "tar*"

其中,|左边的命令表示列出当前home目录下的所有目录及其文件.

我们通过上面的只是可以知道,grep "tar*"表示会从标准输入流里面去查找包含tar开头的字符串,而我们又知道,|就是连接标准输入/出流,所以^^,你懂了吧.

|右边就会把左边的标准输出作为标准输入传递到右边,然后你就懂了吧!


使用管道操作符注意的要点:

  1. 管道命令只能处理前一个命令正确输出,不处理错误输出,|左边的输入错误的话会直接报错.
  2. 管道命令右边必须是能够接收标准输入流的指令,否则传递过程中数据会被抛弃.
    在这里插入图片描述
  3. 常用来接收数据管道的命令有:sed,awk,head,grep,cut, top, less,more,wc,join,sort,split等.

如何在指定文件中查找包含指定字符串partial[true]的行

grep 'partial\[true\]' data.info.log.表示从data.info.log这个文件里去找包含partial[true]字符串的行,其中由于[]是特殊字符,所以需要转义一下.
在这里插入图片描述


如何在指定文件中查找包含指定字符串partial[true]的行,而且只显示符合engin字符串数据

grep 'partial\[true\]' data.info.log | grep -o 'engine',-o表示只输出符合后面字符串内容的数据.

同时,我们还可以通过grep -v,去查询不含 指定字符串内容 的字符串.

总结:
在这里插入图片描述
表示在指定文件中查询包含指定字符串的文本内容.


在这里插入图片描述
表示查找包含指定字符串的内容


在这里插入图片描述
查询不包含指定字符串的内容.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值