find—查找条件

find—查找条件

目 录

一、根据时间戳查找:

二、根据权限查找

三、根据文件所属人owner,文件所属组group查找

四、根据搜索层级查找

五、根据文件名查找

六、根据文件类型查找:

find实时查找工具,通过遍历指定路径完成文件查找

(1)工作特点:

查找速度略慢

精确查找

实时查找

可以只搜索用户具备读取和执行权限的目录

(2)语法:

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

查找路径:指定具体目标路径;默认为当前目录

查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文件

处理动作:对符合条件的文件做操作,默认输出至屏幕

本文主要针对查找条件进行详细解释


一、根据时间戳:

1、以“天”为单位

时间戳:atime 访问时间

mtime 文件数据修改时间

ctime 文件元数据修改时间

2、以“分钟”为单位

-amin

-mmin

-cmin

3、参数

( 代表大于 ;

)代表小于 ;

[代表大于等于;

]代表小于等于 ;  例如(0,3],表示大于0,小于等于3

#:[#,#+1)

+#: [#+ 1,∞]

-#: [0,#)

4、例子

(1)查找app目录中在一天之内修改过的文件

find /app –mtime -1

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

分析:find的运用格式为find 目录(不写目录则默认当前目录) 查找条件 (–mtime等) 查         找-1 用法是小于一天,即[0 ,1)

注:查找条件可以用其他时间

二、根据权限查找:

1、-perm   /mode:精确权限匹配

+mode[/mode]任何一类(u,g,o)对象的权限中只要能一位匹配即可,或关系,+从centos7开始淘       汰,所以本文直接用centos6 、7 中通用的/演示例子

2、-perm  -mode  每一类对象都必须同时拥有指定权限,与关系0表示不关注

3、例子

(1)找出当前目录下 user有读权限或者其他人有写权限的文件

分析:不写路径的默认当前路径    4代表读权限;2代表写权限;1代表执行权限

/代表各个位上是或关系,

<1> user位上是4代表读权限,只要user上有读权限的都可以满足条件

<2>其他人为写权限的文件也满足条件。

<3>当有0时不用管这一位。

<4>三个位置之间的关系是或关系,除去0位置上,其他任意位满足条件即可。即查找文件的条         件必须是,user位上有读权限或所有人位上有写权限,所以全部文件都满足条件。前面的点

“ .”代表当前目录。

(2)找出当前目录下 user有读权限且其他人有写权限的文件

find -perm -401

分析:—代表各个位上是或关系

<1> user位上是4代表读权限,user上必须有读权限才可以满足条件;

<2>其他人位上必须有写权限的文件才满足条件。

<3>当有0时不用管这一位。

<4>三个位置之间的关系是与关系,即查找文件的条件必须是,user位上有读权限且所有人位           上有写权限,所以只有file2和file3

三、根据文件所属人(owner)user,文件所属组group查找:

1、例子

(1)找出当前目录中所属人为root的文件

分析:当在查找所属人时加上-user 后面加上所属人

(2)找出当前目录中所属组为guan的文件

分析:当在查找所属组时加上-group 后面加上所属组

四、根据搜索层级查找:

1、当查找的目录太大,比如根目录,当只想查找根一级目录下的文件,需要下面层级限制

-maxdepth level 最大搜索目录深度,指定目录为第1级

-mindepth level 最小搜索目录深度

2、例子

(1)查找根目录一级目录权限user有读权限且其他人有写权限的文件

find / -maxdepth 1 -perm-401

(2)-mindepth 对于最小搜索目录的意义不大,因为find的搜索属于贪婪模式,如果不指定最大的     搜索目录时,会自动的向下一个目录搜索。

五、根据文件名查找:

1、-name "文件名称":支持使用glob  *, ?, [], [^]

2、例子

(1)搜索/etc一级目录下所有以.txt结尾的文件

find /etc -maxdepth 1 -name "*\.txt"

分析:在以名字搜索时,要加上-name  "*\.txt"  后面模糊匹配时要加双引号,*代表任意字      符,因为.不能被识别,所以要加\转译

(2)搜索/目录下所有名字为a.txt的文件

find /etc -name a.txt

分析:当搜索文件名字确定时不用加双引号

六、根据文件类型查找:

1、根据文件类型查找:

-type TYPE:
           f: 普通文件
             d: 目录文件
             l: 符号链接文件
             s:套接字文件
             b: 块设备文件
             c: 字符设备文件
             p: 管道文件

2、例子

(1)找出/app 目录下一级目录文件

find /etc -maxdepth 1 -type d

分析:find的查找方式查找时,当给出路径时,查找到的文件显示时绝对路径,不给路径即默认当前路径,查找到的文件显示时相对路径

时间: 2024-10-26 05:26:21

find—查找条件的相关文章

Informatica 常用组件Lookup之七 查找条件

PowerCenter 使用查找条件来测试收到的值.这与 SQL 查询中的 WHERE 子句相似.为转换配置查找条件时,将对转换输入值和查找源或高速缓存(用查找端口代表)中的值进行比较.当您运行工作流时,PowerCenter 将基于条件在查找源或高速缓存中查询所有收到的值. 必须在所有查找转换中输入查找条件.查找条件的某些准则适用于所有查找转换,而某些准则则视您如何配置转换而定. 为查找转换输入条件时,请遵循以下准则: 条件中的数据类型必须匹配. 为条件中用到的每个查找端口使用一个输入端口.您

django中数据查找条件是表中的外键对应表的列该如何查找?

1 平常查找表中数据的条件是python中已有的数据类型,通过点运算符可以直接查找.如果条件是表中外键列所对应表的某一列,该如何查询数据?比如 class News(models.Model): title = models.CharField(max_length=50); summary = models.TextField(); url = models.CharField(max_length=150); favorCount = models.IntegerField(default=

条件判断之if、case语句和文件查找命令

一.脚本编程 1.if语句怎样用 人生面临许多选择,在编程世界里同样也有许多选择.同其他编程语言一样,当我们想写一个功能健壮的脚本时,通过条件判断来选择适合的操作尤为重要.在我们执行某些重要的操作之前,判断当前环境是否适合执行这一操作是非常重要的.我们可以用&&和||来做简单的判断,不过shell有更用的语句.shell有两种常见的条件选择语句if和case.我们先来看一下if该怎样用吧. if语句的单分支语法: if 条件判断 ;then;执行命令:fi [[email protecte

批处理:查找指定条件的文件复制到指定的目录中

@echo off echo                         查找并复制指定条件的文件到指定的目录 echo -------------------------------------------------------------------------------- echo 请输入要搜索的目录,必须使用绝对路径 set /p mulu= echo 请输入查找条件,多个条件请用英文 , 隔开 set /p tiaojian= echo 请输入复制到的目标,必须使用绝对路径 s

Liger UI 表格数据查找/通过条件加载数据

api上的例子是在本地过滤的,无法使用,自己摸索了一下. javascript代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 //初始化ligerui控件 $(function (){         maingrid = $("#maingrid").ligerGrid({             columns: [                 {

find、locate文件查找命令详解

一.locate:根据键值数据库模糊匹配,找路径 1.命令工作模式 (1)模糊查找 依赖于事先构建好的索引库,索引构建过程需要遍历整个根文件系统,占CPU使用资源 (2)无法实施更新 查找的是过去某一时刻更新的数据库文件,查找路径 系统自动更新:一般为每日系统例行性任务完成更新 手动更新数据库:uodatedb (3)查找速度快 通过对创建的索引库的匹配遍历查找文件路径,查询速度哦哒哒增加 2.格式:locate   [OPTION]...  PATTERN- -b:只匹配路径中的基名 -c:统

查找命令find的用法

find用法 在linux中一切皆文件,里面有大量的文件,我们需要在成千上万个文件找到那些我们需要的文件!!!!这时就需要用到查找命令了,find命令比locate命令的功能要齐全而且要好用的多,所以博主只在这里接受find命令的用法. find  格式:find [option]...[查找路径][查找条件][处理动作] 查找路径:默认为当前目录,自动向下递归 查找条件:可以是基于文件名,大小,类型,权限等标准进行 处理动作:对查找到的内容做处理,默认输出打印到屏幕 find是通过遍历指定路径

谢烟客---------Linux之find查找

查找的区别 grep 根据PATTERN逐行匹配目标文本,打印字串所在行至标准输出 find  根据查找条件在给定的路径下,查找文件名对应的文件 查找的分类 实时查找: find 根据用户给出的路径,在路径下查找 非实时查找:locate,whatis 依据事先构建的索引,在数据库中查找 手动更新数据库的命令: updatedb, makewhatis 查找的特性 find:实时.速度慢.精确匹配 locate: 非实时.速度快.模糊匹配 查找语法 2.获取帮助 # man find 或 fin

Linux文件查找之find&locate

Linux文件查找之find&locate 一.概述 Linux系统核心的思想之一"一切皆文件",对于这么多的文件,如何快速查找过滤呢?下面我们就看看系统提供的文件查找命令find和locat,熟练使用find命令是运维人员的必经之路 二.find的用法及示例 1.find特点 查找速度略慢 精确查找 实时查找 只能搜索有读取和执行权限的目录 2.find用法 用法:find  [options]  [查找路径]  [ 查找条件]  [处理动作] 查找条件: 根据文件类型查找