Linux17_查找文件

locate 命令 快速查找

英文定位的意思

用于定位要查找的文件

该命令用于搜索包含关键字的所有的文件和目录;

刚创建的文件,用locate查找不到;

这正好是locate的缺陷;是在文件的数据库中查找,不在硬盘中查找;

刚创建的文件还没有收录到文件数据库中,linux系统每天会更新数据库;

可以用updatedb来强制更新数据,root用户下执行;

locate命令是罗列出所有在文件数据库中查找到的内容,如果太多了显得繁杂;

而且要注意更新数据库;

=================================================

find命令  深入查找

直接查找磁盘上的文件,不会遗漏一天内创建的文件;

很强大,常用命令;

find用法

find [何处]  何物  [做什么]

何处:默认就在当前目录及其子目录中查找,可以指定路径

何物:根据文件名,大小,最近访问时间

做什么:后续处理,默认的话只显示

根据文件名查找

 

find只会找到完全符合关键字的文件

locate则会找到所有包含关键字的文件

当然可以使用通配符

根据文件大小查找

根据最近访问时间查找

查找近七天内访问的文件

仅查找目录或文件

-type  d  只查找目录

-type  f  仅查找文件

=================================================

find命令的高级用法  操作查找结果

打印查找到的结果

默认find命令会显示每个查找到的文件

可以用-printf 参数 格式化打印出来

find . -name "*.txt" -printf "%p - %u "    %p文件名  %u所有者

删除查找到的文件

find -name "*.jpg" -delete   //不会提示,直接删除,慎用

调用命令

-exec参数,后接一个命令,对每个查找到的文件进行操作;

 

 {}  表示是对每个找到的文件进行操作;

;   这个是固定结尾写法,不用关心怎么实现的;

如果需要确认提示 参数替换为 -ok 参数;

======================================================

原文地址:https://www.cnblogs.com/grooovvve/p/12444453.html