Linux学习笔记——文件搜索命令

文件搜索命令

文件搜索命令find

  • find [搜索范围] [匹配条件]    用于文件搜索
  • find [搜索范围] -name [关键字] 在特定路径下搜索文件名作为关键字的文件或者目录
  • find [搜索范围] -name [关键字] *这样为带有关键字的任何文件都可以被搜索出来
  • find [搜索范围] -name *[关键字] *这样为带有关键字的任何文件都可以被搜索出来,匹配任意字符 加通配符*
  • find [搜索范围] -name [关键字]??? 这样搜索的是关键字后带三个字符的,几个问号几个字符。
  • find [搜索范围] -iname [关键字] 不区分大小写搜索

       注意:不能在服务区高峰的时候使用查找命令。台站内存资源,搜索的范围路径越小越好,搜索条件越精准越好

  • find [搜索范围] -size [数据块]       根据文件大小查找

           数据块前面加+表示查找大于这个大小的文件,-表示查找小于这个大小的文件,不加表示查找等于这个大小的文件(一般不常用)

1个数据块=512字节=0.5K
size后接的数据只能为数据块 需要换算,比如需要查找大于100MB的文件
100MB=102400KB=204800
find /etc -size +204800
数据块为Linux存储文件最小单位

  • find [搜索范围] -user[所有者名] 根据所有者查找
  • find [搜索范围] -group [所属组名] 根据所属组查找
  • find [搜索范围] -amin [时间] 查找时间以内被访问过的文件和目录 a;access
  • find [搜索范围] -cmin [时间]  查找时间以内被修改过属性的文件和目录 c:change
  • find [搜索范围]  -mmin [时间]  查找时间以内被修改过内容的文件和目录 m:modift

         +:超过多长时间     -:多长时间以内

 

  • find [搜索范围] -size [数据块] -a -size [数据块]

        -a:两个条件同时满足

        -o:两个条件满足任意一个即可

         find /etc -size+163840 -a -size -204800

         在 /etc 下查找大于80MB小于100MB的文件

 

  • find [搜索范围] -name [关键字] -a -type f

          在特定路径下搜索文件名作为关键字的文件
          -type 根据不同类型查找
          f:文件
         d:目录
          l:软链接

  • find [搜索范围] -name [关键字] -exec ls -l {} \ ;

          查找到文件之后并且对其进行查看ls操作。
          -exec:查找到文件之后并且对其进行各种操作 {} \ ;不能丢
          -ok:用于询问确认 一般在删除操作的时候使用,比如:
           find -user yangyang -ok rm {} \ ;
          删除yangyang用户的文件 他会挨个询问你是不是确定删除

  • find [搜索范围] -inum [i节点值] 根据i节点查询
    find /etc -inum 12345 -exec rm {} \ ;
    删除这个i节点文件 非常方便
    也可以用来查询一个文件的硬链接
    find /etc inum 12345 -exec ls -l {} \ ;
    因为硬链接和文件肯定在同一个分区,并且i节点一样

 

 

其他文件搜索命令

  • locate [文件名]
    在文件资料库中查找 速度更快
    updatedb 更新文件资料库 因为locate并不是实时的
    如果存放的文件在/tmp 临时文件存放处下面 locate就找不到,文件资料库不存储临时文件内容
    注意:在使用的Linux系统为Linux(CentOS7)的时候,使用命令locate时发现系统显示:-bash: locate: 未找到命令,遇到错误。它的原因是:在CentOS 7 系统中默认没有安装该命令。
    以下为解决办法:
    链接: 解决locate命令未找到问题.

 

  • locate -i 不区分大小写查找
  • which 查找命令存放位置,可以看到命令可以使用的使用者是谁,也可以查看命令别名 which rm 会显示 alias rm='rm -i’
    我们所使用的rm只不过是别名 不是真正的rm命令,其实是rm -i命令,所以才会询问是否真的删除,真正的rm是不会询问的,比如:
    /bin/rm /tmp/yangyang 文件直接删除不会询问是否删除 相当于加了 -f
  • whereis 也可以找到命令的绝对路径,还可以找到查询命令的帮助信息文档所在位置
  • grep 在文件内查询字符串或者关键字列出来
  • grep -i 不区分大小写查找
  • grep -v 排除指定字符串
    比如:
    grep -v ^# /etc/inittab
    查找排除#开头的注释行文件信息
    ^代表行首
    文件中#开头的行 为配置文件信息,脚本信息

 

posted @ 2021-04-19 19:48  三月暮啊  阅读(206)  评论(0编辑  收藏  举报