文件搜索
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分钟以内被访问的文件
查询之后怎么搞事情?
- -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文件中的以#开头的行最后显示的内容)
以上是关于文件搜索的主要内容,如果未能解决你的问题,请参考以下文章