1. find(选项)(参数)

选项

  1. -amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
  2. -anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
  3. -atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
  4. -cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
  5. -cnewer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
  6. -ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
  7. -daystart:从本日开始计算时间;
  8. -depth:从指定目录下最深层的子目录开始查找;
  9. -expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
  10. -exec<执行指令>:假设find指令的回传值为True,就执行该指令;
  11. -false:将find指令的回传值皆设为False
  12. -fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
  13. -follow:排除符号连接;
  14. -fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
  15. -fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
  16. -fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
  17. -fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
  18. -gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
  19. -group<群组名称>:查找符合指定之群组名称的文件或目录;
  20. -help或——help:在线帮助;
  21. -ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;
  22. -iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
  23. -inum<inode编号>:查找符合指定的inode编号的文件或目录;
  24. -ipath<范本样式>:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;
  25. -iregex<范本样式>:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;
  26. -links<连接数目>:查找符合指定的硬连接数目的文件或目录;
  27. -iname<范本样式>:指定字符串作为寻找符号连接的范本样式;
  28. -ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出;
  29. -maxdepth<目录层级>:设置最大目录层级;
  30. -mindepth<目录层级>:设置最小目录层级;
  31. -mmin<分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
  32. -mount:此参数的效果和指定“-xdev”相同;
  33. -mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
  34. -name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
  35. -newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
  36. -nogroup:找出不属于本地主机群组识别码的文件或目录;
  37. -noleaf:不去考虑目录至少需拥有两个硬连接存在;
  38. -nouser:找出不属于本地主机用户识别码的文件或目录;
  39. -ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;
  40. -path<范本样式>:指定字符串作为寻找目录的范本样式;
  41. -perm<权限数值>:查找符合指定的权限数值的文件或目录;
  42. -print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;
  43. -print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;
  44. -printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;
  45. -prune:不寻找字符串作为寻找文件或目录的范本样式;
  46. -regex<范本样式>:指定字符串作为寻找文件或目录的范本样式;
  47. -size<文件大小>:查找符合指定的文件大小的文件;
  48. -true:将find指令的回传值皆设为True
  49. -typ<文件类型>:只寻找符合指定的文件类型的文件;
  50. -uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
  51. -used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算;
  52. -user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
  53. -version或——version:显示版本信息;
  54. -xdev:将范围局限在先行的文件系统中;
  55. -xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。

eg

根据文件名或者正则查找

  1. 在/home目录下查找以.txt结尾的文件名
  2.  
  3. find /home -name "*.txt"
  4.  
  5. 同上,但忽略大小写
  6.  
  7. find /home -iname "*.txt"

查找条件可以是多个  支持 与 -a 、或 -o 、非 -not 查找

  1. 当前目录及子目录下查找所有以.txt和.pdf结尾的文件
  2.  
  3. find . \( -name "*.txt" -o -name "*.pdf" \)

  4. find . -name "*.txt" -o -name "*.pdf"

根据正则表达式查找

  1. find . -regex ".*\(\.txt\|\.pdf\)$"

反条件查找

  1. 找出/home下不是以.txt结尾的文件
  2. find /home ! -name "*.txt"

根据文件类型进行查找

  1. find . -type 类型参数

类型参数列表:

  • 普通文件
  • 符号连接
  • d 目录
  • 字符设备
  • 块设备
  • 套接字
  • Fifo

根据目录深度查找

  1. find /home -maxdepth 层数
  2.  
  3. 找到/home2层目录下.txt文件
  4. find /home -maxdepth -type f -name "*.txt"

根据修改时间进行查找

  1. 找到/home目录下 最近一天修改的文件
  2.  
  3. find /home -type f -mtime -
  • 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
  • 修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
  • 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

- 表示最近多少天修改的   +表示多少天之前修改的

根据文件大小查找

  1. 找到 /home 下大小超过10K的文件
  2.  
  3. find /home -type f -size +10k -ls
  • b —— 块(512字节)
  • c —— 字节
  • w —— 字(2字节)
  • k —— 千字节
  • M —— 兆字节
  • G —— 吉字节

-表示小于  +表示大于

删除匹配文件

  1. 删除/home txt文件
  2.  
  3. find /home -name "*.txt" -type f -delete

对查找内容进行操作

  1. 找出 /home 目录下权限为777的文件
  2.  
  3. find /home -type f -perm
  1. 找到 /home/eko/test 文件夹下权限不为 的文件 然后改权限为
  2.  
  3. find /home/eko/test ! -perm -name "*.sh" -exec chmod {} \;

上例中,{} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名。

  1. 将/home/eko/test 目录下 属主为eko的文件 属主改为 root
  2.  
  3. find /home/eko/test -user eko -exec chown root {} \;
  1. 删除 /home/eko/test 目录下 .txt文件
  2. find /home/eko/test -name "*.txt" -ok rm {} \;

上例中,-ok-exec行为一样,不过它会给出提示,是否执行相应的操作。

  1. 找到当前目录下.sh文件 并把他们的内容输出到当前目录 all.txt文件下
  2. find ./ -name "*.sh" -type f -exec cat {} \; > ./all.txt
  1. 30天前的.log文件移动到old目录中
  2.  
  3. find . -type f -mtime + -name "*.log" -exec cp {} old \;

Linux 文件查找(find)的更多相关文章

  1. Linux文件查找.md

    Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...

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

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

  3. linux文件查找find命令

    linux文件查找find命令 1.文件查找 基本介绍 在文件系统上查找符合条件的文件 linux上常见的文件查找工具:find命令 查找分类 实时查找 精确查找 基本语法 find  [option ...

  4. linux 文件查找,which,whereis,locate,find

    linux 文件查找,which,whereis,locate,find 一:which 主要用于查找可执行命令的所在位置: 如图,查找命令 ls的目录: 二:whereis 主要用于查找命令的帮助文 ...

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

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

  6. Linux文件查找

    Linux下查找文件的命令有两个; locate: find : locate这个命令对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了查 找文件速度很快,但是locate ...

  7. Linux文件查找工具之find “大宝剑”--转载

    原文地址:http://xinzong.blog.51cto.com/10018904/1749465 一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法 ...

  8. linux - 文件查找及压缩

    文件查找: 1.  which    查找可以执行文件,只搜索$PATH里的目录 $ which ls /bin/ls which只搜索$PATH里的目录,如果搜索当前目录的文件是没有任何结果的 $ ...

  9. Linux 文件查找

    在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 whereis wher ...

  10. linux文件查找及操作

    在linux下查找文件的办法最常用的就是find指令,让我们来看一下find指令如何来使用吧: find find . -name  txt             //在当前目录查找名字为txt的文 ...

随机推荐

  1. 关于MySql悲观锁与乐观锁

    悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念.本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍. 悲观锁(Pessimistic Lock) 悲观锁的 ...

  2. 直接突破百度网盘,用IDM或者迅雷下载。

    直接突破百度网盘,用IDM或者迅雷下载.推荐浏览器: 360 ,CHORME360,: 打开网盘下载页,然后F12→找到CONSOLE→刷新→输入代码“Object.defineProperty(th ...

  3. sql培训

    1.select--查询语句 select * from table; select cols from table; select cols from table where condition; ...

  4. 基于folly的AtomicIntrusiveLinkedList无锁队列进行简单封装的多生产多消费模型

    1.基于folly的AtomicIntrusiveLinkedList略微修改的无锁队列代码: #ifndef FOLLY_REVISE_H #define FOLLY_REVISE_H namesp ...

  5. Jmeter(三十四)Jmeter-Question之“Cookie获取”

    2018.4.27 还在做性能测试的过程中,唉,只能说坑很多. 无明确需求.无人手协调等问题,什么都需要自己去挖掘. 本次测试的工具选型依然是Jmeter,真实场景中遇到了这么个问题.可能解决办法有点 ...

  6. [UE4]封装蓝图函数Print String

    World Context Object一定要赋值才会在多人游戏中出现Server和Client,如下图所示:

  7. 关于Jedis连接Linux上的redis出现 DENIED Redis is running in protected mode问题的解决方案

    redis 添加了requirepass 123456后还是报错,原来是重新启动的时候./redis-cli  没有指定配置文件. https://blog.csdn.net/a532672728/a ...

  8. Mongodb集群搭建之 Sharding+ Replica Sets集群架构(2)

    参考http://blog.51cto.com/kaliarch/2047358 一.概述 1.1 背景 为解决mongodb在replica set每个从节点上面的数据库均是对数据库的全量拷贝,从节 ...

  9. linux的cd、ls、chmod命令

    cd ls ls:查看权限  chmod:修改权限

  10. win10间歇性的找不到usb设备

    自从安装了win10,感觉掉了一个好大的坑. 比如win10经常找不到usb 设备,有时候过5-6分钟又有了.除了驱动的问题之外,有时候重启一下就好了. 今天又有一个小发现,笔记本为了省电,会把usb ...