您现在的位置是:首页 > 文章详情

linux下4种常见的文件搜索命令

日期:2017-10-10点击:693

1、文件搜索命令locate(定位,查找)

最大的好处,速度快

格式: locate 文件名 

返回文件的路径

搜索方式:在后台数据库中按照文件名搜索,每天更新一次

因此新建的文件往往要第二天才能搜索出来

但是也可以强行更新数据库 执行命令updatedb既可以

数据库的位置   /var/lib/mlocate(版本不同位置不同)

搜索的配置文件:/etc/updatedb.conf 其中指定有些目录

不参与搜索 比如/etc/temp

缺点:只可以按照文件名来搜索

例子:locate javatest

2、命令搜索命令whereis 与which

whereis搜索命令的所在位置,不搜索文件

-b 只查看可执行文件所在位置

-m  只查看帮助文档所在位置

which 搜索命令的所在位置,还可以查看别名,不搜索文件

两种搜索在path环境路径下搜索 echo $PATH

例子:whereis ls     which ls

3、find(全部搜索,每一个文件名)

功能非常的强大,但是比较耗费资源

因此,尽量避免大范围的查询

格式:find 搜索范围 搜索条件

find / -name test    在根目录下搜索

搜索的内容要和文件名一模一样

如果要搜更多 则需要模糊匹配(*可以实现)匹配内容写在""中

* 匹配任意内容(多个字符)

匹配任意单个字符

[] 匹配中括号中的任意一个字符

选项参数:

-name  按照文件名

-iname 文件名不区分大小写

-user  按照所有者搜索 find /root -nouser   没有所有者文件

内核产生,外来文件之外的所有文件都需要有所有者

-mtime  查找指定时间修改的文件

-atime  查找指定时间被访问文件

-ctime  查找指定时间文件属性改变的文件

参数-10 10天之内 +10  10天之前 10第10天(注意都是过去时)

-size 按照文件大小

find . -size +25k(+25k大于25k 兆是大写M 不写单位表示数据块(扇区数据块512byte).标识当前目录)

-inum 按照指定的i节点来搜索文件

-a (and) 逻辑与 两个条件都满足

-o (or)  逻辑或 

  -exec(中间添加第二条命令比如 ls,rm -rf) {} \;  命令1的结果让命令2来处理

例子:

find . -name test

find . -name test.gz

find . -name "*"  全部

find . -name "*.gz"  该目录下全部以gz结尾文件

find . -atime -10

find . -size -10k   10kb以下

find . -size -100M   10M以上

find . -size -10k -a -atime -10

find . -size -10k -a -atime +10

find . -name "*" -a -size -10k -exec ls -lhi {} \;(\前面一定要有空格)

4、grep

格式:grep 选项 字符串   文件名 在文件中查找包含关键字的字符串行

匹配需要正则表达式匹配

例子:grep "size" 文件名

-v 取反

搜索匹配是文件名 则用通配符 通配符是完全匹配

搜索文件中的内容 则使用正则表达式包含匹配

例子:

grep "log" install.log

find与grep的区别

find是查找匹配文件

grep是文件中匹配字符串

原文链接:https://www.centoschina.cn/command/help/9028.html
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章