文件搜索

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件搜索相关的知识,希望对你有一定的参考价值。

文件搜索有哪些方式?

  命令格式 find [范围][方式]

    -name 文件名字  按文件名精确搜索

    -iname 文件名字 不区分大小写名字搜索

    -name *文件名字* 模糊搜索 ,*通配符,表示匹配多个字符,?匹配一个字符

    -type [d f l] 按文件类型匹配(主要用于查询所需要的文件类型)

    -user -group 表示按 所有者 所属组查找

    -size 规定大小 + 查询大于规定大小的文件,- 查询小于规定大小的文件(要换算,linux存储文件最小的单位是数据快,512k,0.5k,假如查询大于100m的文件,100*1024/0.5 表示有204800个数据快)

    -a(and) 两边条件都满足

    -o(or) 只需满足其中一个条件

    -inum   按i节点号查询(查询是否存在硬链接,因为硬连接无法跨分区)

   如何按文件修改时间查询呢?

              -amin 文件访问 access

              -cmin 文件属性 change

              -mmin 文件内容 modify

              +表示超多多少分钟 -表示在多少分钟以内(数字的单位是分钟)

              例如:find /home/ -amin -10,查询home目录下10分钟以内被访问的文件

查询之后怎么搞事情?

  1. -exec 命令 {} \;例如 find /home/ -name haha -exec(-ok) ls -l {} \; 表示查询home目录下的叫haha的文件,然后执行显示详细信息的命令,{} \ ;固定格式,大括号 中间空格转义斜杠加分号,

-ok表示对查询结果,一行一行问你是否执行后面的命令操作

还有其他的搜索命令了么?

  locate [-i(不区分大小写)] 文件名 

    locate beimenchuixue 结果:/happy_home/beimenchuixue,如果没有搜索到不返回任何结果 

    实现快速查找(因为它自身建立了一个资料库,自己自动维护与更新)

    用updatedb命令立即更新资料库(注意:像/tmp一样的临时文件没有加入到资料库中,所以临时文件中的文件无法搜索到)

  which ,whereis 前者查询命令绝对路径 后者包括帮助文档路径(which 命令)

    which ls 结果:alias ls=‘ls --color=auto‘

                                      /bin/ls

    whereis ls 结果:ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz(路径后面是帮助文档路径)

  grep (-i -v)内容(路径/)文件 

    在指定文件中查找有关键字内容行 -i不区分大小写 -v表示排除某些有某些字段的行(grep -v ^# /etc/inittab 表示排除inittab文件中的以#开头的行最后显示的内容)

以上是关于文件搜索的主要内容,如果未能解决你的问题,请参考以下文章

everything如何搜索文件内容?(这软件搜索文件可以,搜索文件内容不行)

WIN7如何搜索文件里包含的文字?

Linux常用命令3 文件搜索命令

搜索引擎如何限制文件类型

文件搜索命令

Everything怎么用 / 如何快速搜索文件