find文件查找
一、locate
locate基于数据库索引来查找文件,数据库在开机时一段时间对更新,不会实时更新,数据库存放在(/var/lib/mlocate/mlocate.db),可以用updatedb来手动更新数据库。
优缺点:
- 查找速度快
- 模糊查找
- 非实时查找
- 搜索的是文件的全路径
- 只搜索用户具备读权限和执行权限的目录
locate KEYWORD
选项:
-i:不区分关键字大小写
-n #:打印匹配到的前#行
-r:使用正则表达式
二、find
find查找会实时遍历磁盘,对服务器性能会有很大影响,使用时应该注意服务器的负载
优缺点:
- 查找速度慢,影响性能
- 精确查找
- 实时查找
- 只搜索用户具备读权限和执行权限的目录
find 【查找路径范围】【选项】【查找条件】【处理操作】
查找路径,默认为当前工作路径
1、查找条件
可以指定查找文件的文件名、大小、类型、权限等等指定条件
- --maxdepth #:最大搜索目录深度
- --mindepth #:最小搜索目录深度
- -name:指定文件名
- -iname:忽略文件名大小写
- -inum #:指定inode号
- -samefile FILE:指定和另一个文件相同的inode号,查找一个文件的硬链接
- -links #:指定查找有#个链接数的文件
- -regex "PATTERN":使用正则表达式匹配
- -user USERNAME:查找指定所属者的文件
- -group GROUPNAME:查找指定所属组的文件
- -uid UID:查找指定UID的文件
- -gid GID:查找指定GID的文件
- -nouser:查找没有所属者的文件
- -nogroup:查找没有所属组的文件
- -type:根据文件类型查找
- f:普通文件
- d:目录
- l:符号链接
- s:套接字文件
- b:快文件
- c:字符文件
- p:管道文件
- -empty:查找空文件
- -size:按文件大小查找(c,k,M,G)
- #:(#-1,#]
- -#:[0,#-1]
- +#:(#,+∞)
- -atime:按文件各时间查找(天)
- #:[#,#+1)
- +#:[#+1,∞]
- -#:[0,#)
- -mtime
- -ctime
- -amin:按文件各时间查找(分钟)
- -mmin
- -cmin
- -perm 权限匹配
- MODE 精确匹配
- /MODE ugo是或者的关系
- -MODE ugo是并且的关系,包含关系
- 组合添加查找
- -a:并且
- -o:或者
- -not|!:不是
2、处理操作
对匹配到的文件做相应的操作,默认操作为输出到终端
-print:默认处理,打印到终端
-ls:以长格式列出文件
-delete:删除文件,不提示!
-fls NEWFILE:将长格式的文件列表保存到NEWFILE == -ls >NEWFILE
-ok CMD {} \;:指定处理动作,提示
-exec CMD {} \;:指定处理动作,不提示!
记录于2018.4.12 11:57
find文件查找的更多相关文章
- Linux文件查找.md
Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...
- myeclipse学习总结三(MyEclipse文件查找技巧)
一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...
- 自己动手写文件查找,字符串查找,查询jar包等工具
文件查找——搜索当前目录下的文件 知道大概的文件名称,使用 findf FileName findf.py import argparse, re, os from os.path import jo ...
- Linux 执行文件查找命令 which 详解
某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查 ...
- Node.js入门:文件查找机制
文件查找流程图 从文件模块缓存中加载 尽管原生模块与文件模块的优先级不同,但是都不会优先于从文件模块的缓存中加载已经存在的模块. 从原生模块加载 原生模块的优先级仅次于文件模块缓存的优 ...
- <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向
[root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...
- linux笔记八---------文件查找
1.find文件查找指令 > find 目录 参数 参数值,参数 参数值..... > find / -name passwd //从系统根目录开始递归查找name=p ...
- linux下的find文件查找命令与grep文件内容查找命令
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...
- MyEclipse使用总结——MyEclipse文件查找技巧 ctrl+shift+R ctrl+H
一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...
- Linux文件查找工具之find “大宝剑”--转载
原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...
随机推荐
- Mac下使用终端连接远程使用ssh协议的git服务器
最近换了台新电脑, MacBook pro,拿到新电脑之后小小心喜了一下(终于解脱windows的束缚拥抱mac啦), 然后就开始苦逼的安装各种开发环境了. 之前在windows上使用tortoise ...
- protobuf lib库的使用
问题记录: 1.在使用protobuf反射机制动态加载解析proto文件时,发现当proto文件中含有import系统proto文件的语句时,无法解析文件,解决方法是添加路径映射. google::p ...
- 从源码浅析Java中的Lock和AbstractQueuedSynchronizer
在之前的文章中我也曾经介绍过Lock,像ReentrantLock(可重入锁)和ReentrantReadWriteLock(可重入读写锁),这些所我们在说的时候并没有详细的说明它们的原理,仅仅说明了 ...
- Maven-05:插件目标
在学习插件和生命周期的绑定关系之前,必须先了解插件目标(plugin goal). 我们知道,Maven的核心仅仅定义了抽象的生命周期,具体的任务是交由插件完成的,插件以独立的构件形式存在,因此Mav ...
- java实现单链表的增删功能
JAVA 实现单链表的增删功能 package linked; class LinkedTable{ } public class LinkedTableTest { public static vo ...
- 如何通过TortoiseGit(小乌龟)把本地项目上传到github上
1.第一步: 安装git for windows(链接:https://gitforwindows.org/)一路next就好了, 如果遇到什么问题可以参考我另外一篇文章~^ - ^ 2.第二步:安装 ...
- Algorithm --> 两个栈实现队列和两个队列实现栈
两个栈实现队列和两个队列实现栈 队列(queue)先进先出的线性表:栈(stack)先进后出的线性表. 两个栈实现队列 法一思路: s1是入栈的,s2是出栈的. 入队列:直接压入s1即可: 出队列:如 ...
- Algorithm --> 最长公共子序列(LCS)
一.什么是最长公共子序列 什么是最长公共子序列呢?举个简单的例子吧,一个数列S,若分别是两个或多个已知序列的子序列,且是所有符合条件序列中最长的,则S称为已知序列的最长公共子序列. 举例如 ...
- 关于BufferedReader的readLine方法遇到的坑
今天偶然用到BufferedReader,在读取文本后输出数据的时候遇到了隔行输出的问题. 如: 床前明月光 疑是地上霜 123456 789789 输出的为:疑是地上霜789789 找了一下,最终找 ...
- mysql学习第一天
Mysql语句语法 一.数据库定义语句(DDL) 1.alter database 语法 alter database 用于更改数据库的全局特性,这些特性存储在数据库目录中的db.opt文件中.要使用 ...