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 参数;
======================================================