find - search for files in a directory hierarchy

find命令用于在目录层级中查找文件

SYNOPSIS

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]

简单用法:

find PATH EXPRESSION

EXPRESSION

Numeric arguments can be specified as

+n    for greater than n,

-n    for less than n,

n      for exactly n.

选项太多不一一列举,常用的在下面的示例中说明,要深究的话建议查看帮助手册(英文描述其实更地道,翻译成中文有时反而难以理解,可能大家看到过一个词“句柄”,不知道大家是怎么理解的,反正我是无法理解,语句?手柄?)

EXAMPlES

1.按文件名查找,支持通配符
find 目录 -name "pattern"
2.按文件名查找,同时忽略大小写
find 目录 -iname "pattern"
3.按所属用户查找
find 目录 -user "pattern"
4.按所属用户组查找
find 目录 -group "pattern"
5.查找所属用户指定的UID的文件
find 目录 -uid "pattern"
6.查找所属用户指定的UID的文件
find 目录 -gid "pattern"
7.查找无用户的文件
find 目录 -nouser "pattern"
8.查找无用户组的文件
find 目录 -nogroup "pattern"
9.按文件类型查找
find 目录 -type TYPE

TYPE:

  • f: 普通文件
  • d: 目录文件
  • l:符号链接文件
  • b:块设备 文件
  • c:字符设备文件
  • p:管道文件
  • s:套接字文件
10.按文件大小查找,+表示>,-表示<
find 目录 -size [+|-]n[cwbkMG]]
  • b: for 512-byte blocks (this is the default if no suffix is used)
  • c: for bytes
  • w: for two-byte words
  • k: for Kilobytes (units of 1024 bytes)
  • M: for Megabytes (units of 1048576 bytes)
  • G: for Gigabytes (units of 1073741824 bytes)
11.按时间戳(天数)查找,-atime(访问天数)-ctime(change天数)-mtime(修改天数)
find 目录 -atime [+|-]n

find 目录 -ctime [+|-]n

find 目录 -mtime [+|-]n
12.按时间戳(分钟)查找,-amin(访问分钟)-cmin(change分钟)-mmin(修改分钟)
find 目录 -amin [+|-]n

find 目录 -cmin [+|-]n

find 目录 -mmin [+|-]n
13.按权限查找
  • mode:精确匹配

  • /mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;9位权限之间存在“或”关系;

  • -mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足;9位权限之间存在“与”关系;

find 目录 -perm [/|-]mode
选项组合
-a:与

-o:或

-not/!:非
处理动作
-exec 命令... {} \;
#示例:查找当前目录下.txt后缀,并且1天内修改过的文件
find ./ -name "*.txt" -a -mtime -1 -exec ls -lh {} \;
注意

find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;但是有些命令不能接受过长的参数,此时命令执行会失败;

另一种方式可规避此问题:

find | xargs COMMAND

Linux-文件查找命令find的更多相关文章

  1. Linux文件查找命令find,xargs详述【转】

    转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Li ...

  2. Linux文件查找命令find用法整理(locate/find)

    Linux文件查找查找主要包括:locate和find 1.locate 用法简单,根据数据库查找,非实时,用法: locate FILENAME 手动更新数据库(时间可能较长) updatedb 2 ...

  3. Linux文件查找命令

    1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...

  4. Linux文件查找命令具体解释-which whereis find locate

    原创BLog.转载请注明出处 http://blog.csdn.net/hello_hwc? viewmode=contents which命令 首先查看man which的说明 which - sh ...

  5. Linux 文件查找命令详解

    find命令 Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将 ...

  6. Linux文件查找命令find(转)

    Linux find命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录 ...

  7. Linux文件查找命令 find 详解

    关于find命令 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权 ...

  8. Linux文件查找命令find,xargs详述

    目录: 一.find 命令格式 1.find命令的一般形式为: 2.find命令的参数: 3.find命令选项: 4.使用exec或ok来执行shell命令: 二.find命令的例子: 1.查找当前用 ...

  9. locate linux文件查找命令

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...

  10. Linux文件查找命令find和xargs详解

    PS:find是个很强大的命令,能够匹配正则,查找对应权限,能够帮你精确的定位你的系统中的任何地方任何目录下的文件.下面这篇是关于find命令用法最详细的一篇了,记录下.还有要注意的:本文的分号:其实 ...

随机推荐

  1. Jackson高并发情况下,产生阻塞

    情况:在高并发情况下,查看线程栈信息,有大量的线程BLOCKED. 从线程栈得知,线程栈中出现了阻塞,锁在了com.fasterxml.jackson.databind.ser.SerializerC ...

  2. cron Linux下的定时执行工具

    说明:测试平台  Ubuntu 16.04.4 LTS cron是一个Linux下的定时执行工具,可以在无需人工干预的情况下运行作业.所以,在Linux中,周期性执行的任务一般由cron这个守护进程来 ...

  3. [JAVA]多线程下如何确定执行顺序性

    最近在讨论一个下载任务:要求文件下载后进行打包,再提供给用户下载: 如何确保打包的线程在所有下载文件的线程执行完成后进行呢? 看看下面三个兄弟的本事: CountDownLatch.CyclicBar ...

  4. Elastix GOIP 网关配合

    方案一 Gateway disallow=allallow=alaw&ulawcanreinvite=nodtmfmode=rfc2833host=192.168.1.108insecure= ...

  5. Anaconda 3中配置OpenCV

    平台:win10 x64+Anaconda 3(64-bit)+opencv_python-3.4.5+contrib-cp37-cp37m-win_amd64 一.OpenCV下载 Python环境 ...

  6. 824. Goat Latin

    class Solution { public: string toGoatLatin(string S) { S.push_back(' '); //add a space that the loo ...

  7. Java翻转数组的方法

    java的api没用翻转数组的工具类,只能自己写了. int [] testIntArr = {1,2,3}; //翻转数组 for (int i = 0; i < testIntArr.len ...

  8. mysql 查询中文字段 没有结果的解决方法

    代码如下: $conn = new mysqli('localhost', 'root', '', 'excel');$sql = "select 中信一级行业 from excel gro ...

  9. DOS的几个常用命令

    1.rem:注释 DOS中的注释,其后面的内容会被自动忽略.双冒号(::)也有相同的效果 相当于R语言和Python中的# 2.set:设置变量 set var = 1 将1赋值给变量var 打印出来 ...

  10. php 制作二维码 phpqrcode.php

    phpqrcode.php 下载地址:https://sourceforge.net/projects/phpqrcode/ //测试可行 utf-8格式 <?php header(" ...