find命令的用法

find 命令是用来在指定目录下查找文件,用法太多,就列几个常用的

1、根据文件或者正则表达式进行匹配

列出当前目录及子目录下所有的文件和文件夹

这时候使用 tree -a 更直观

在/home 目录下查找以.txt结尾的文件名

若要忽略大小写使用 find /home -iname "*.txt"

查找所有以.txt和.pdf结尾的文件

-name<范本样式>:指定字符串作为寻找文件或目录的范本样式

其中 -o 是或的意思

类似的还有:-a 且  ,  -not 不满足

匹配文件路径或者文件

-path<范本样式>:指定字符串作为寻找目录的范本样式

基于正则表达式匹配文件路径

-regex<范本样式>:指定字符串作为寻找文件或目录的范本样式

忽略大小写:find . -iregex ".*\(\.txt\|\.pdf\)$"

2、否定参数

使用 ! 参数

3、根据文件类型进行搜索

find . -type 类型参数

类型参数包括:f 普通文件 ,l 符号连接, d 目录, c 字符设备, b 块设备 ,s 套接字, p Fifo

搜索符号连接

4、基于目录深度搜索

-maxdepth<目录层级>:设置最大目录层级;

 -mindepth<目录层级>:设置最小目录层级;

搜索出最大目录层级为3的所有txt文件

5、根据文件时间戳进行搜索

UNIX/Linux文件系统每个文件都有三种时间戳: 

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。 

修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。 

变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

七天内    -atime -7

刚好在前七天   -atime 7

超过七天内   -atime +7

找出访问时间超过10分钟的所有文件

找出比a.txt 修改时间更新的所有文件

6、根据文件大小进行匹配

find . -type f -size 文件大小单元

文件大小单元:

b -- 块(512字节), c --字节 ,w --字(2字节) ,k --千字节, M -- 兆字节 ,G -- 吉字节

搜索小于10KB的文件,注意k为小写 

7、删除匹配文件

删除当前目录下所有小于10k的a2.txt文件

8、根据文件权限进行匹配

-perm<权限数值>:查找符合指定的权限数值的文件或目录

找出当前目录下权限为644的文件

找出当前目录用户susu拥有的所有文件

找出当前目录用户组susu拥有的所有文件

9、借助-exec 选项与其他命令结合使用

-exec<执行指令>:假设find指令的回传值为True,就执行该指令

找出当前目录下a.txt文件,并把所有权更改为用户susu

其中,{}用于与-exec选项结合使用来匹配所有文件

10、搜索但跳过指定的目录

-prune:不寻找字符串作为寻找文件或目录的范本样式

跳过 root 目录查找 *local* 文件

11、其他

列出所有长度为零的文件



参考:man.linuxde.net/find

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • find命令是用于实现精确查找,实时查找指定目录下面的文件。在工作中常用。优点是:实时,精确。缺点是:比较占用系统...
    dxldeng阅读 738评论 0 1
  • 查询命令 find * find [指定查找目录] [查找规则] [查找完后执行的action]* find ~/...
    chapa阅读 728评论 0 5
  • #对话体脑洞故事# (夜,烧烤大排档) 良子:老板,再来一把串!哎,啤酒也没了,小强,再整点? 小强:想喝死我就直...
    一缕仙儿气阅读 4,293评论 0 516
  • 简书养了几个小朋友,最近也长得人模人样的了,决定领出来遛遛。 简书官方微信号(微信号 jianshuio ):收录...
    简书阅读 112,075评论 231 1,632
  • 文/古月言 他不但要往我的身体里钻,还要像蛇一样的往我的心里面愈钻愈深。--------张爱玲《色.戒》 目录 昏...
    古月言阅读 842评论 19 6