一、locate

locate基于数据库索引来查找文件,数据库在开机时一段时间对更新,不会实时更新,数据库存放在(/var/lib/mlocate/mlocate.db),可以用updatedb来手动更新数据库。

优缺点:

  1. 查找速度快
  2. 模糊查找
  3. 非实时查找
  4. 搜索的是文件的全路径
  5. 只搜索用户具备读权限和执行权限的目录

locate KEYWORD

选项:

-i:不区分关键字大小写

-n #:打印匹配到的前#行

-r:使用正则表达式

二、find

find查找会实时遍历磁盘,对服务器性能会有很大影响,使用时应该注意服务器的负载

优缺点:

  1. 查找速度慢,影响性能
  2. 精确查找
  3. 实时查找
  4. 只搜索用户具备读权限和执行权限的目录

find  【查找路径范围】【选项】【查找条件】【处理操作】

查找路径,默认为当前工作路径

1、查找条件

可以指定查找文件的文件名、大小、类型、权限等等指定条件

  1. --maxdepth #:最大搜索目录深度
  2. --mindepth #:最小搜索目录深度
  3. -name:指定文件名
  4. -iname:忽略文件名大小写
  5. -inum #:指定inode号
  6. -samefile FILE:指定和另一个文件相同的inode号,查找一个文件的硬链接
  7. -links #:指定查找有#个链接数的文件
  8. -regex "PATTERN":使用正则表达式匹配
  9. -user USERNAME:查找指定所属者的文件
  10. -group GROUPNAME:查找指定所属组的文件
  11. -uid UID:查找指定UID的文件
  12. -gid GID:查找指定GID的文件
  13. -nouser:查找没有所属者的文件
  14. -nogroup:查找没有所属组的文件
  15. -type:根据文件类型查找
    • f:普通文件
    • d:目录
    • l:符号链接
    • s:套接字文件
    • b:快文件
    • c:字符文件
    • p:管道文件
  16. -empty:查找空文件
  17. -size:按文件大小查找(c,k,M,G)
    • #:(#-1,#]
    • -#:[0,#-1]
    • +#:(#,+∞)
  18. -atime:按文件各时间查找(天)
    • #:[#,#+1)
    • +#:[#+1,∞]
    • -#:[0,#)
  19. -mtime
  20. -ctime
  21. -amin:按文件各时间查找(分钟)
  22. -mmin
  23. -cmin
  24. -perm 权限匹配
    • MODE 精确匹配
    • /MODE ugo是或者的关系
    • -MODE ugo是并且的关系,包含关系
  25. 组合添加查找
    • -a:并且
    • -o:或者
    • -not|!:不是

2、处理操作

对匹配到的文件做相应的操作,默认操作为输出到终端

-print:默认处理,打印到终端

-ls:以长格式列出文件

-delete:删除文件,不提示!

-fls NEWFILE:将长格式的文件列表保存到NEWFILE == -ls >NEWFILE

-ok CMD {} \;:指定处理动作,提示

-exec CMD {} \;:指定处理动作,不提示!

记录于2018.4.12 11:57

find文件查找的更多相关文章

  1. Linux文件查找.md

    Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...

  2. myeclipse学习总结三(MyEclipse文件查找技巧)

    一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...

  3. 自己动手写文件查找,字符串查找,查询jar包等工具

    文件查找——搜索当前目录下的文件 知道大概的文件名称,使用 findf FileName findf.py import argparse, re, os from os.path import jo ...

  4. Linux 执行文件查找命令 which 详解

    某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which  查看可执行文件的位置 whereis 查看文件的位置 locate   配合数据库查看文件位置 find   实际搜寻硬盘查 ...

  5. Node.js入门:文件查找机制

    文件查找流程图 从文件模块缓存中加载     尽管原生模块与文件模块的优先级不同,但是都不会优先于从文件模块的缓存中加载已经存在的模块. 从原生模块加载     原生模块的优先级仅次于文件模块缓存的优 ...

  6. <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向

    [root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...

  7. linux笔记八---------文件查找

    1.find文件查找指令 > find  目录  参数 参数值,参数 参数值.....    > find  /  -name  passwd   //从系统根目录开始递归查找name=p ...

  8. linux下的find文件查找命令与grep文件内容查找命令

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...

  9. MyEclipse使用总结——MyEclipse文件查找技巧 ctrl+shift+R ctrl+H

    一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...

  10. Linux文件查找工具之find “大宝剑”--转载

    原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...

随机推荐

  1. python分支

    if xxx : xxxxx elif xxxx : xxxxx elif xxxx : xxxxx else: xxxxxx 分支可以有效节省CPU的运算时间.避免悬挂else的出现 三元表达式 s ...

  2. Java基本包装类型

    基本类型的对象包装,也就是将常用的基本数据类型包装成对象 byte Byte short Short int Integer long Long boolean Boolean float Float ...

  3. 网络通信 --> socket通信

    socket通信 socket是应用层与TCP/IP协议族通信的中间软件抽象层,是一组接口.工作原理如下: 具体过程:服务器端先初始化socket,然后与端口绑定(bind),对端口进行监听(list ...

  4. .net core2.0下Ioc容器Autofac使用

    .net core发布有一段时间了,最近两个月开始使用.net core2.0开发项目,大大小小遇到了一些问题.准备写个系列介绍一下是如何解决这些问题以及对应技术.先从IOC容器Autofac开始该系 ...

  5. iptables.sh 初始化防火墙配置

    #!/bin/bash iptables -F iptables -X iptables -Z iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT ...

  6. DirectSound---捕获音频、Qml/C++ 集成交互

    DirectSound的音频捕获原理和播放原理差不多,内部在一个缓冲区上循环写入捕获到的数据,并且提供notify通知功能. 1. 音频捕获 因为捕获流程和播放流程类似,我们就不在这里赘述了,只给出简 ...

  7. Mysql性能优化之覆盖索引

    因为我们大多数情况下使用的都是Innodb,所以这篇博客主要依据Innodb来讲 b+树(图片来自网络) b+树图来自网络 1.聚集索引与非聚集索引区别 聚集索引:叶子节点包含完整的数据(物理地址连续 ...

  8. breeze源码阅读心得

            在阅读Spark ML源码的过程中,发现很多机器学习中的优化问题,都是直接调用breeze库解决的,因此拿来breeze源码想一探究竟.整体来看,breeze是一个用scala实现的基 ...

  9. 云计算之路-阿里云上-容器难容:优化自建 docker swarm 集群的部署

    在上周六遭遇阿里云容器服务 swarm 版的故障之后,我们决定还是走自建 docker swarm 之路,只要不是阿里云底层的问题,我们相信会找到办法解决或避开自建 docker swarm 不稳定的 ...

  10. numpy.random.seed()方法

    先贴参考链接: https://stackoverflow.com/questions/21494489/what-does-numpy-random-seed0-do numpy.random.se ...