一、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. Mac下使用终端连接远程使用ssh协议的git服务器

    最近换了台新电脑, MacBook pro,拿到新电脑之后小小心喜了一下(终于解脱windows的束缚拥抱mac啦), 然后就开始苦逼的安装各种开发环境了. 之前在windows上使用tortoise ...

  2. protobuf lib库的使用

    问题记录: 1.在使用protobuf反射机制动态加载解析proto文件时,发现当proto文件中含有import系统proto文件的语句时,无法解析文件,解决方法是添加路径映射. google::p ...

  3. 从源码浅析Java中的Lock和AbstractQueuedSynchronizer

    在之前的文章中我也曾经介绍过Lock,像ReentrantLock(可重入锁)和ReentrantReadWriteLock(可重入读写锁),这些所我们在说的时候并没有详细的说明它们的原理,仅仅说明了 ...

  4. Maven-05:插件目标

    在学习插件和生命周期的绑定关系之前,必须先了解插件目标(plugin goal). 我们知道,Maven的核心仅仅定义了抽象的生命周期,具体的任务是交由插件完成的,插件以独立的构件形式存在,因此Mav ...

  5. java实现单链表的增删功能

    JAVA 实现单链表的增删功能 package linked; class LinkedTable{ } public class LinkedTableTest { public static vo ...

  6. 如何通过TortoiseGit(小乌龟)把本地项目上传到github上

    1.第一步: 安装git for windows(链接:https://gitforwindows.org/)一路next就好了, 如果遇到什么问题可以参考我另外一篇文章~^ - ^ 2.第二步:安装 ...

  7. Algorithm --> 两个栈实现队列和两个队列实现栈

    两个栈实现队列和两个队列实现栈 队列(queue)先进先出的线性表:栈(stack)先进后出的线性表. 两个栈实现队列 法一思路: s1是入栈的,s2是出栈的. 入队列:直接压入s1即可: 出队列:如 ...

  8. Algorithm --> 最长公共子序列(LCS)

      一.什么是最长公共子序列     什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列. 举例如 ...

  9. 关于BufferedReader的readLine方法遇到的坑

    今天偶然用到BufferedReader,在读取文本后输出数据的时候遇到了隔行输出的问题. 如: 床前明月光 疑是地上霜 123456 789789 输出的为:疑是地上霜789789 找了一下,最终找 ...

  10. mysql学习第一天

    Mysql语句语法 一.数据库定义语句(DDL) 1.alter database 语法 alter database 用于更改数据库的全局特性,这些特性存储在数据库目录中的db.opt文件中.要使用 ...