码迷,mamicode.com
首页 > 其他好文 > 详细

文件搜索

时间:2017-11-04 14:56:36      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:有关   需要   ext   匹配   /etc/   line   /tmp   etc   属性   

文件搜索有哪些方式?

  命令格式 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文件中的以#开头的行最后显示的内容)

文件搜索

标签:有关   需要   ext   匹配   /etc/   line   /tmp   etc   属性   

原文地址:http://www.cnblogs.com/2bjiujiu/p/7783031.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!