[Linux] find详解

本文详细解析了Linux下的find命令,包括其基本语法、参数说明及常见选项。通过具体实例展示了如何查找特定目录下的文件,如按文件名、修改时间、大小等条件进行筛选,并介绍了-exec与-ok选项的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

参数说明 :

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。-name   filename             #查找名为filename的文件

常用opt
      -maxdepth level      最大目录深度,指定目录为第1级
      -mindepth level       最小搜索目录深度
      -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
      -exec : find . -type f -exec ls -l {} \;  
      -type 
          f: 普通文件
          d: 目录文件
          l: 符号链接文件
          s:套接字文件
          b: 块设备文件
          c: 字符设备文件
          p: 管道文件

-atime n    
-cpio             %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
-ctime -n +n             #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-depth                       #使查找在进入子目录前先行查找完本目录
-exec : find . -type f -exec ls -l {} \; 
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
-fstype                     #查更改时间比f1新但比f2旧的文件
-mount                       #查文件时不跨越文件系统mount点
-mtime  -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-newer   f1 !f2              找文件,-n指n天以内,+n指n天以前 
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-perm                              #按执行权限来查找
-prune                       #忽略某个目录
-size      n[c]               #查长度为n块[或n字节]的文件
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
-user    username             #按文件属主来查找

 

实例一:查找tmp目录下所有txt 文件     

find /tmp -type f -name "*.txt"

实例二:查找tmp目录7天以前的大于1m的文件

find /tmp -type f -mtime +7 -size +1M 

实例三:将目录下7天之前的日志删除

find /data/logs/ -type f -mtime +7 | xargs rm -f
find /data/logs/ -type f -mtime +7 -exec rm -f {} \;
rm -f `find /data/logs/ -type f -mtime +7 `

 

 

 

http://blog.51cto.com/13572810/2065800

https://www.cnblogs.com/yorkyang/p/6294894.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Moke丶青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值