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 天前(指定那一天)更改过属性的文件或目录。
find . -name "*.txt" -exec rm {} ;
find . -name "*.txt" -ok rm {} ; 确认是否删除
find . -type f -mtime +1 -name "*.txt" -exec cp {} dir2 ;