shell命令—find

Posted 风水月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell命令—find相关的知识,希望对你有一定的参考价值。

find命令

# 删除/home/fengshuiyue目录下一周前的目录
fengshuiyue@ralc:~> find /home/fengshuiyue -maxdepth 1 -type d -mtime +7 ! -path /home/fengshuiyue -exec rm -rf  \\;

-maxdepth 数字:目录最大深度(-maxdepth 1 表示只查找1级子目录,-maxdepth 2 表示查找1级及2级子目录)

-mindepth 数字:目录最小深度(-maxdepth 2 表示查询2级及以上的子目录)

-type 参数(如下):(如-type f 表示查找文件,-type d 表示查找目录)
   f 普通文件
   l 符号连接
   d 目录
   c 字符设备
   b 块设备
   s 套接字
   p Fifo

-mtime +7:表示最后一次修改时间距现在超过一个星期

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

(如 -mtime -1 表示查询当天的数据 -mtime -7表示查询一周内的数据)

-path 字符串:表示匹配该路径
!: 表示不含
! -path /home/fengshuiyue:表示 查询出的结果里排除/home/fengshuiyue目录

-exec shell命令:执行命令
用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名。\\;用来表示命令结束
(-exec rm -rf ; 查询到的结果都删除)

其他的find的参数如下图:

以上是关于shell命令—find的主要内容,如果未能解决你的问题,请参考以下文章

shell命令之find的用法

shell编程基础-find命令

[shell]find命令

Shell find命令详解

从 find(shell) 命令中删除一些输出行

shell命令—find