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的主要内容,如果未能解决你的问题,请参考以下文章