linux find
根据文件名查找
//-name “文件名称”:支持通配符查找;
//-iname “文件名称”:不区分文件名大小写;
根据属主、属组查找
//-user USERNAME:查找属主为指定用户的文件;
//-group GROUPNAME:查找属组为指定用户的文件;
//-uid USERID:查找属主为指定uid号的文件;
//-gid GroupID:查找属组为指定GID号的文件;
//-nouser:查找没有属主的文件;
//-nogroup:查找没有属组的文件
根据文件类型查找
-type TYPE
//f:普通文件;
//d:目录文件;
//l:符号链接文件;
//s:套接字文件;
//b:块设备文件;
//c:字符设备文件;
//p:管道文件;
//查找tmp目录下所有的普通文件
find /tmp/ -type f
组合条件
//与:-a
//或:-o
//非:-not,!
//匹配包含这两种文件类型的文件
find . \(-name "*.txt" -o "*.pdf"\) -print
根据文件大小进行查找
-size [+,-]num单位,常用单位有:k、M、G
//num单位:显示的是大于num-1,小于等于num这个区间内的值;
//-num单位:显示的是大于等于0,小于等于num-1区间内的值;
//+num单位:大于num至无穷大区间内的所有值;
//匹配当前目录下大于2K的文件
find . -type f -size +2k
根据文件时间进行查找
//访问时间(-atime):用户最近一次访问文件的时间;
//修改时间(-mtime):文件内容最后一次被修改的时间;
//变换时间(-ctime):文件元数据(例如权限和所有权)最后一次改变的时间
//-amin:访问时间-分钟
//-mmin:修改时间-分钟
//-cmin:变化时间-分钟
//匹配打印最近7天内别访问的所有文件
find . -type f -atime -7
//打印出访问时间超过7分钟的所有文件
find . -type -amin +7
根据目录的深度进行查找
-mindepth,-maxdepth选项来限制find命令遍历的目录深度
//列出当前目录下的所有以f开头的文件,即使有子目录,也不会被打印和遍历
find . -maxdepth 1 -name "f*" -print
处理动作
-print:默认处理动作,显示至屏幕;
-ls:类似于对查找到的文件执行"ls -l"命令;
-delete:删除查找到的文件
-fls /PATH/TO/SOMEFILE:查找到的所有文件的长格式信息保存至指定文件中
查找多个匹配
//-name是匹配的名字
//-o 等同于 or
find /data/docker/overlay2/ -name rocketmq_client.log -o -name rocketmq_client.log.*