linux find

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.*
posted @ 2022-10-09 22:05  liwenchao1995  阅读(44)  评论(0编辑  收藏  举报