简介:find是Linux系统中的常用命令(应用程序)之一。它是用来在指定目录层次结构(指定目录的子目录以及子目录的子目录)中查找符合指定条件的文件和目录

一:语法结构

  find [directory-list] [option] [expression]

二:参数详解

directory-list : 用来指定find要搜索的目录结构,当为指定directory-list时,默认是当前目录。

  option :忽略

  expression :  指定的查找文件的规则(条件),当没有指定是默认规则是‘-print’()。可指定多个规则,多个规则之间可以进行逻辑运算(or-and).

         可在指定规则前加!(感叹号),取规则的反义。

          规则的计算默认是从左到右,除非表达式存在圆括号。

          在规则中使用圆括号,方括号[],问号?星号*,需要转义字符(/),以阻止shell对其解释。

三:expression(规则)

  find的全部规则大概有20个左右,在此我只列觉我个人认为有用并且常用的几个。

  * 在expression规则中 (+|-)n是表示一个十进制整数,+n表示比n大 ,-n比n小,n等于n。

-name pattern:根据pattern(pattern可支持(`*', `?',and `[]')匹配文件或目录 ),来查找符合指定pattern的文件名。

    备注:该规则对大小写敏感,可通过-iname对大小写不敏感

-user uname:查找文件归属用户名为uname的文件

    备注:可类比出文件所属组(-group gname),已经不属于(-nouser uname)。

  -perm 777:权限模式,这个规则你必须了解linux的文件权限模式。 

-ctime n:文件最近该变(change)的时间

  -mtime n:文件修改(modified)时间

  -type (d|f|l):根据文件类型查找

  -exec  命令2 {} \; : 上一个命令的结果放入{},并作为参数传递给命令2。注意:{}与\;是执行-exec的必备条件。注意:之间有空格。

四:讨论

4.1 find dir x y

用x,y表示条件。dir表示待搜索的目录,语法中的option参数被省略了。

   该条命令说明find在dir目录中,先搜索符合x条件的文件,然后判断该文件是否符合y规则,注意如果文件x条件不符合就不回判断y条件了,因为x与y是用空格分割,空格相当与AND运算符(短路)。

4.2 find dir x - or y

  类比4.1,该条命令是短路与

五:示例

 当前目录: 

  [root@wxapp216 mydoc]# ls -l
  total 8
  -rw-r--r-- 1 root root 11 Aug 2 13:50 find.txt
  -rw-r--r-- 1 root root 4 Aug 2 13:56 find.vv
  drwxr-xr-x 2 root root 21 Aug 6 09:07 mydom1

eg1: 

  [root@wxapp216 mydoc]# find . -iname "*D*"
  ./mydom1
  ./find.vv
  ./find.txt

eg2:  

  [root@wxapp216 mydoc]# find . -iname "*D*" -name "*m*"
  ./mydom1

 eg3:  

  [root@wxapp216 mydoc]# find . -iname "*D*" -name "*m*" -exec ls -l {} \;
  total 4
  -rw-r--r-- 1 root root 23 Aug 6 09:07 ttt.txt

  eg4:  

  [root@wxapp216 mydoc]# find . -perm 755
  .
  ./mydom1

  

linux命令——find的更多相关文章

  1. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  2. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  3. 11 个很少人知道但很有用的 Linux 命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...

  4. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

  5. linux命令在线手册

    下面几个网址有一些 Linux命令的在线手册,而且还是中文的,还可以搜索.非常方便 Linux命令手册 Linux命令大全 Linux中文man在线手册 每日一linux命令

  6. 常用的一些linux命令

    最近接触到一些linux环境部署的事情,下面分享一些最近使用的比较频繁的一些linux命令~ 1.一次性移动多个文件到一个文件夹里 mv  被移动文件名 -t 目标文件夹 如:mv a.txt b.t ...

  7. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

  8. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  9. 在windows下使用linux命令,GnuWin32的使用.

    http://sourceforge.net/projects/getgnuwin32 使用过linxu的伙计估计都会喜欢上linux各种各样强大的命令如:grep, sed,awk,diff和pat ...

  10. 我常用的那些linux命令

    我常用的那些linux命令 用linux也有些年头了,说来也忏愧,说是有些年头了,其实也还是个不长进的主.记得第一次接触linux是boss跟我说的怎么操作,什么编辑模式,按i,a,o进入编辑模式.在 ...

随机推荐

  1. c++中重载运算符

    重载运算符 1,成员函数运算符 运算符重载为类的成员函数一般格式如下 <函数类型> operator <运算符> (参数表) {函数体} 调用成员函数运算符如下 <对象名 ...

  2. CSS 对于grid布局的理解,举例代码及解释

    网格布局介绍: CSS Grid(网格) 布局(又称为 “Grid(网格)” ),是一个二维的基于网格的布局系统它的目标是完全改变我们基于网格的用户界面的布局方式.CSS 一直用来布局我们的网页,但一 ...

  3. 尝试用 Python 写了个病毒传播模拟程序

    病毒扩散仿真程序,用 python 也可以. 概述 事情是这样的,B 站 UP 主 @ele 实验室,写了一个简单的疫情传播仿真程序,告诉大家在家待着的重要性,视频相信大家都看过了,并且 UP 主也放 ...

  4. Affinity Propagation

    1. 调用方法: AffinityPropagation(damping=0.5, max_iter=200, convergence_iter=15, copy=True, preference=N ...

  5. 牛客练习赛52 C 烹饪(容斥+扩展欧几里得)

    来源:https://ac.nowcoder.com/acm/contest/1084/D 思路来源:https://www.cnblogs.com/Morning-Glory/p/11521114. ...

  6. Codeforces 1065C Make It Equal (差分+贪心)

    题意:n个塔,第i个塔由$h_i$个cube组成,每次可以切去某高度h以上的最多k个cube,问你最少切多少次,可以让所有塔高度相等 k>=n, n<=2e5 思路:差分统计每个高度i有的 ...

  7. mybatis缓存问题导致无法查询到数据

    今天查询记录时,发现重复查询结果时出现空记录的情况 查看控制台信息,只有红色框选部分有进行查询数据,而其他没有.然而上图可看出有两条数据是能展现出来的,故有可能是mybatis缓存命中的. 因此在ma ...

  8. WARNING OGG-00706 Failed to add supplemental log group on table

    在配置OGG时,需要给同步的表添加补充日志,在ggsci命令行执行 add trandata user.table   SQL> desc jack.t1 Name Null? Type --- ...

  9. c++ 中变量成员的初始化时机

    代码如下: 注意一下我打断点的位置. 最后的结果: 在程序进入MyTest()的函数体之前,控制台就打印出来了I have been constructed. 即:在进入构造函数的函数体之前,类中的成 ...

  10. Elemetary OS deepin-wine 版 微信 和 企业微信 输入框字体显示异常解决

    Elemetary OS deepin-wine 版 微信 和 企业微信 输入框字体显示异常解决 最近体验了Elementary OS 这个系统, 话说我之前都是用的Manjora 的各个桌面版, 突 ...