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. 为什么要用jvm .

    挚享科技 2018.4.8 运行java程序字节码,实现跨平台.. Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成 在Java虚拟机上运行的目标代码(字节码 ...

  2. GOIP connects with Elastix through “config by line”

    GOIP connects with Elastix through “config by line” By grace Liu on May 17, 2013 in Elastix, Gateway ...

  3. 使用 IntelliTrace 调试应用程序

    IntelliTrace 如何能够大幅改善您的日常开发活动,并提升您快速轻松诊断问题的能力,而不必重新启动应用程序和使用传统的“中断-单步执行-检查”技术进行调试.介绍了组织如何能够通过在测试过程中收 ...

  4. 为什么要使用日志管理?syslog和Windows事件日志

    为什么要使用日志管理?syslog和Windows事件日志 日志管理 - 确保网络安全的先决条件 日志给予您有关网络活动的第一手信息.日志管理确保日志中隐藏的网络活动数据转换为有意义的可操作的安全信息 ...

  5. 对 Service中sqlsession对象的优化

    在本线程中添加object数据,必须在本线程中才能获取出来..其他线程获取不到. public class Test { public static void main(String[] args) ...

  6. Win7 VS2013环境使用cuda_7.5.18

    首先得吐槽下VS2015出来快一年了CUDA居然还不支持,没办法重装系统刚从2013升到2015,还得再装回一个2013用,只为学习CUDA... 然后安装的时候,如果你选择自定义组件安装,注意不要改 ...

  7. js 上传文件

    <input id="file_Up" name="file_Up" type="file" onchange="getFi ...

  8. idea使用git提交代码到远程,这里是没有冲突的演示

    首先在项目鼠标右键,找到Git,然后在Git选项里找到Add,点击: 添加到暂存区后,再次找到Git,找到Commit Directory,点击: 然后弹出这个界面: 选中你自己修改的记录,一些不必要 ...

  9. L1范式和L2范式

    正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm和ℓ2ℓ2-norm,中文称作L1正则化和L2正则化 ...

  10. java使用filter设置跨域访问

    import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import ja ...