Skip to content

Latest commit

 

History

History
43 lines (21 loc) · 5.02 KB

File metadata and controls

43 lines (21 loc) · 5.02 KB

语法

find [路径] [匹配条件] [动作]

expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。

  • -name pattern:按文件名查找,支持使用通配符 * 和 ?。
  • -type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
  • -size [+-]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。

根据文件时间戳进行搜索

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

  • 访问时间 (-atime/天,-amin/分钟):用户最近一次访问时间。
  • 修改时间 (-mtime/天,-mmin/分钟):文件最后一次修改时间。
  • 变化时间 (-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

正数应该表示时间之前,负数表示时间之内。

例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。

关于时间 n 参数的说明:

  • +n:查找比 n 天前更早的文件或目录。
  • -n:查找在 n 天内更改过属性的文件或目录。
  • n:查找在 n 天前(指定那一天)更改过属性的文件或目录。

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

find . -name "*.txt" -exec rm {} ;

find . -name "*.txt" -ok rm {} ; 确认是否删除

find . -type f -mtime +1 -name "*.txt" -exec cp {} dir2 ;