Liunx操作-Record05—查找和检索相关的命令

目录

查找命令:"find dir [option]  内容"

进行分块:"xargs"命令

对内容进行过滤:"grep"命令


查找命令:"find dir [option]  内容"

  • -name 按照名字查找:find ./ -name "*.c"

  • -type 按照类型查找

对应的大部分查找的文件类型如下:

  • -size  按照大小查找:"find ./ -size +1M -size -5M", (代表查找大于1M,并且小于5M的文件),如果不写+-,代表等于

 

  • -maxdepth 最深路径:"find ./ -maxdepth 1 -size +1M " ,(代表只查找当前路径下的大于1M的文件)

这个命令是上条命令的补充,可以规定查找的目录路径范围

 

  • find ./ -maxdepth 2 -size +1M -exec ls -l {} \; 

想显示更详细的信息

 

  • find ./ -maxdepth 2 -size +1M -exec rm -rf {} \; 

想查找到之后,直接删除;经过对比发现,其实和上一条命令相比,就是把后面的部分给换了一下而已。

  • -ok 相对安全模式,每一条指令都提示

"find ./ -maxdepth 2 -size +1M -ok ls -l {} \; "

"find ./ -maxdepth 2 -size +1M -ok rm -rf {} \; "

其实,"-ok"和"-exec"的功能都差不多,只不过前者是安全模式,会对每一次操作都进行询问

进行分块:"xargs"命令

xargs命令将find命令查找的结果分成若干块输出给后面的指令:"find ./ -type l|xargs ls -l"

xargs是find命令的好伴侣,而且,很多企业面试都爱考。这是因为find命令存在弊端,就是当find所查找的命令特别多的时候,"exec"的指令,是一下子把所有结果都传给了后面的指令,如果所找到的指令特别多的话,会造成后面的指令在执行的时候溢出,而使用xargs指令的时候,会把找到的结果分成若干个块,再按块传给后面的指令,可以避免溢出。

对内容进行过滤:"grep"命令

一般与find命令结合起来使用,用find来查找,用grep来进行过滤。比如,来对包含c的文件进行过滤,找到了进行了标红:

  • grep [option] 内容 dir|filename

就可以直接去查找文件中的特定内容

  • -r 递归子目录
  • -n  显示行号
  • find与grep结合起来使用:"find ./ -type f|grep txt "
  • 查找指定文件内是否有main:"cat ggeqG.c |grep main"
  • 分析日志:"tail -f tcpsvr.1705 |grep connect"

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值