find查找及grep过滤

        在windows中我们会如果想要找到一个文件,一般都会通过鼠标光标点击找到所在路径下对应的文件,在Linux系统中,我们也可以通过find命令去找到符合自己要求的文件,find命令可以让我们在指定目录下寻找文件;而grep是Linux中最常用的”文本处理工具”之一,grep是一个可以利用”正则表达式”进行”全局搜索”的工具,grep会在文本文件中按照指定的正则进行全局搜索,并将搜索出的行打印出来。那下面我们一起来学习一下怎么使用这两个命令吧!

1. find的基本用法

1)常见的查找条件表示:

  • -name  文档名称
  • -type  文档类型【f、d、l、b、c】
  • -size +|-  文档大小
  • -mtime +|-  修改时间 
  • -user 所属用户
  • -group 所属组

例1:通过文件名为“res*.conf”查找包含该名字的文件,如下图

        

例2:通过文件类型为b(块设备)在目录/dev下寻找文件

        

例3:按照文件大小寻找文件,这里注意文件找过5M的要用大写字母“M”,但是如果是找kb的话就用小写“k”

        

例4:若要查找大于5K的文件同时文件名称是“name”,如下图输入命令 ,-a的意义是“and”

        

2)-exec    命令行    { }   \;    //这个命令可以处理find文件结果,其中“{}”的意义是将find到的结果嵌入{ }

例1:找出/etc目录下超过5MB的文件,并将其副本放入/root/files目录。这里要注意-exec的参数,正确的格式是find /etc -size +5M -type f -exec cp -p {} /root/files/ \;

        

 2.grep

 1) 基本用法

  • grep ‘关键词’  文件
  • grep ‘正则表达式’  文件

 2)常见的选项:

  • -v: 将条件取反
  • --color :突出显示结果
  • -w:单词匹配
  • -c:统计匹配行数
  • -i:忽略大小写
  • -o:以列展示

3)简单正则表达式:

  •  ^word:查找以“word”开头
  • word$:查找以“word”结尾
  • ^$:查找空行
  • -E:支持使用扩展正则表达式(egrep)

例1:例如我们查看网卡时,概述信息太多了,如图1 ,如果我们像只查看inet的信息,可以输入以下命令“ifconfig ens160 | grep "inet ”,如图二

         

图一 

         

图二 

例2:在/etc/hosts目录查找包含“127”和“localhost”的行,这个时候就用-E参数。

        

例3:完成如下题目:

        

        我们可以通过grep命令找到包含sbin的如果,并重定向到文件root/out.txt中。

        

今天的内容到这里就结束啦,祝大家周末愉快!!!我去打羽毛球咯!

 

 

 

 

 

 

        

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值