Linux find命令
简单总结一下Linux系统中经常用到的find命令
find 命令用来在指定目录下查找文件。
语法:find path -option [ -print ] [ -exec -ok command ] {} ;
可选参数
-name
find /tmp -name a.txt
#在目录/tmp下查找名称为a.txt的文件
find /tmp -name *.txt
#使用通配符,在目录/tmp下查找txt文件
-type
find /tmp -type f
#在目录/tmp下查找一般文件
#文件类型有:d 表示目录、f 表示 一般文件、 l 表示链接文件
-mtime、 -mmin 、-ctime、-cmin、-atime、-amin
-mtime
find /tmp -mtime -3
#查找在三天之内,文件内容发生改变的文件
find /tmp -mtime +3
#查找在三天前,文件内容发生改变的文件
find /tmp -mtime 3
#查找在三天前的当天,文件内容发生改变的文件
-mmin
#用法相同,min表示分钟
-ctime -cmin
#表示文件被读取/执行的时间
-atime -amin
#表示文件属性被修改的时间
-size
find /tmp -size -3K
#查找比3k字节小的文件
find /tmp -size +3C
#查找比3c字节大的文件
find /tmp -size 10M
#查找大小等于10M的文件
#单位:
C、K、M、G
-user、-uid、-group、-gid
#根据用户、用户组查找
find /tmp -user root
-perm
#根据用户权限查找
find /tmp -perm 754
联结使用条件
-a -o -!(与、或、非)
find /tmp \( -size 10M -a -mtime +3 -type f \)
#使用时用圆括号括起来,并且使用反斜杠 \ 转义,左右圆括号与条件之间有空格
一个特殊的指令
-exec / -ok
#-ok选项更加安全,在删除文件时可以考虑使用
find /tmp \( -size 10M -a -mtime +3 -type f \) -exec rm -rf {} \;
find /tmp \( -size 10M -a -mtime +3 -type f \) -exec tar -cf {}.tar \;