[关闭]
@wyjgd 2019-09-01T05:16:21.000000Z 字数 1783 阅读 773

文件查找工具


locate命令

locate:在文件系统上查找符合条件的文件,非实时查找
        locate有一个小型数据库,使用locate搜索时,搜索数据库中的记录的内容,适合用于搜索固定的文件
        updatedb用于更新locate数据库,数据库存放在/var/lib/mlocate/mlocate.db。
        特点:查找速度快、模糊查找、非实时查找、搜索的是文件的全路径,不仅仅是文件名、可能只搜索用户具备读取和执行权限的目录
用法:
    locate [OPTION]... [PATTERN]...
选项:
    -i:不区分大小写搜索
    -n:N 只列举前N个匹配项目
    -r:使用正则表达式
    -c:显示搜索到文件的个数
    -b:搜索基名basename

find命令

特点

实时查找工具,通过遍历指定路径完成查找
查找速度略慢
精确查找
可能只搜索用户具备读取和执行权限的目录

用法

find [option] [查找路径][查找条件] [处理动作]

查找路径:指定具体目标路径;默认当前目录
查找条件:指定查找标准,例如文件名、大小、类型、权限等,默认查找指定路径下的所有文件
处理动作:对条件符合的文件做操作,默认输出至屏幕

查找条件

处理动作

-print:默认的处理动作,屏幕显示
-ls:对查找到的文件执行ls -l命令
-delete:删除查找到的文件
-fls file:查找到的所有文件长格式信息保存至指定文件
-ok command{}\;对查找到的每个文件执行command命令之前,跟用户交互确认
-exec command{}\;对查找到的每个文件执行command命令
find /data -name "*.sh" -exec cp {} /root/{}.bak \;

参数替换xargs

xargs:很多命令不支持管道|来传递参数,用于产生某个命令的参数
find | xargs command

clipboard.png-27.5kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注