find 使用方法整理
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前.
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-mmin n 查找系统中最后N**分钟被改变**文件数据**的文件
-mtime n 查找系统中最后n*24**小时**被改变**文件数据**的文件
find . -name "*.log" -mmin +30 -exec rm {} ; ##删除30分钟外的文件
find ./ -mtime -5 -print ##在系统根目录下查找更改时间在5日以内的文件
find ./ -type f -mtime +5 -exec ls -l {} ; ##查找更改时间在5日以前的文件显示出来
find ./ -type f -mtime +5 -exec rm {} ; ##查找更改时间在5日以前的文件并删除它们
find ./ -type f -mtime +5 -ok rm {} ; ##查找改时间在5日以上的文件,在删除之前先给出提示。 按y键删除文件,按n键不删除。
find ./ -name "*.sh" -exec ls -l {} ; ###查找名字为*.sh的文件并显示出来
find ./ -name "*.sh" -exec rm {} ; ##查找*.sh结尾的文件并删除
find ./ -name "*.sh" -ok rm {} ; ##查找名字为*.sh的文件,在删除之前先给出提示。 按y键删除文件,按n键不删除。
find ./ -type f -exec ls -l {} ; ##查找当前目录下的普通文件
find ~ -name "*.txt" ##查找当前用户主目录下名字为“*.txt”的文件
find /etc/ -name "passwd" -exec grep "apache" {} ; ##查找一个文件中的内容
find ./ -type f -perm 600 -exec ls -l {} ; ##按照文件的权限查找文件
find ./ -type f -size 0 -exec ls -l {} ; ##查找普通文件大小为0的文件
find ./ -empty -exec ls -l {} ; ##查找大小为0的目录或文件。
find ./ -user root -exec ls -l {} ; ####查找系统中所有属于root属主的文件;
find ./ -group root -exec ls -l {} ; ##查找系统中所有属于root组的文件;
find / -type f -print | xargs grep "device" ##用grep命令在所有的普通文件中搜索device这个词
find ./ -name * -type f -print | xargs grep "DBO"
##我们用grep命令在当前目录下的所有普通文件中搜索DBO这个词,用来取消find命令中的*在shell中的特殊含义
#!/bin/bash
LOGPATH="/data/conan/log1"
LOGPATH1="/data/conan/log2"
/bin/find $LOGPATH -mtime +5 -name "*.log" -exec rm {} ;
/bin/find $LOGPATH -mtime +5 -name "*.gz" -exec rm {} ;
/bin/find $LOGPATH -mtime +5 -name "*_md5" -exec rm {} ;
/bin/find $LOGPATH1 -mtime +5 -name "*.log" -exec rm {} ;
/bin/find $LOGPATH1 -mtime +5 -name "*.gz" -exec rm {} ;
/bin/find $LOGPATH1 -mtime +5 -name "*_md5" -exec rm {} ;
-d参数 ,说明要显示的是后面的字符串表示的时间,"1 day ago" 说明是1天前的时间。