find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果应用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全副进行显示。在运行一个十分耗费资源的find命令时,很多人都偏向于把它放在后盾执行,因为遍历一个大的文件系统可能会破费很长的工夫。
命令格局
> find pathname -options [-print -exec -ok ...]
命令性能
用于在文件树中并作出相应的解决
命令参数
- -amin<分钟>:查找在指定工夫曾被存取过的文件或目录,单位以分钟计算;
- -anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更靠近当初的文件或目录;
- -atime<24小时数>:查找在指定工夫曾被存取过的文件或目录,单位以24小时计算;
- -cmin<分钟>:查找在指定工夫之时被更改过的文件或目录;
- -cnewer<参考文件或目录>查找其更改工夫较指定文件或目录的更改工夫更靠近当初的文件或目录;
- -ctime<24小时数>:查找在指定工夫之时被更改的文件或目录,单位以24小时计算;
- -daystart:从本日开始计算工夫;
- -depth:从指定目录下最深层的子目录开始查找;
- -empty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
- -exec<执行指令>:假如find指令的回传值为True,就执行该指令;
- -false:将find指令的回传值皆设为False;
- -fls<列表文件>:此参数的成果和指定“-ls”参数相似,但会把后果保留为指定的列表文件;
- -follow:排除符号连贯;
- -fprint<列表文件>:此参数的成果和指定“-print”参数相似,但会把后果保留成指定的列表文件;
- -fprint0<列表文件>:此参数的成果和指定“-print0”参数相似,但会把后果保留成指定的列表文件;
- -fprintf<列表文件><输入格局>:此参数的成果和指定“-printf”参数相似,但会把后果保留成指定的列表文件;
- -fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
- -gid<群组识别码>:查找合乎指定之群组识别码的文件或目录;
- -group<群组名称>:查找合乎指定之群组名称的文件或目录;
- -help或——help:在线帮忙;
- -ilname<范本款式>:此参数的成果和指定“-lname”参数相似,但疏忽字符大小写的差异;
- -iname<范本款式>:此参数的成果和指定“-name”参数相似,但疏忽字符大小写的差异;
- -inum<inode编号>:查找合乎指定的inode编号的文件或目录;
- -ipath<范本款式>:此参数的成果和指定“-path”参数相似,但疏忽字符大小写的差异;
- -iregex<范本款式>:此参数的成果和指定“-regexe”参数相似,但疏忽字符大小写的差异;
- -links<连贯数目>:查找合乎指定的硬连接数目标文件或目录;
- -iname<范本款式>:指定字符串作为寻找符号连贯的范本款式;
- -ls:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入;
- -maxdepth<目录层级>:设置最大目录层级;
- -mindepth<目录层级>:设置最小目录层级;
- -mmin<分钟>:查找在指定工夫曾被更改过的文件或目录,单位以分钟计算;
- -mount:此参数的成果和指定“-xdev”雷同;
- -mtime<24小时数>:查找在指定工夫曾被更改过的文件或目录,单位以24小时计算;
- -name<范本款式>:指定字符串作为寻找文件或目录的范本款式;
- -newer<参考文件或目录>:查找其更改工夫较指定文件或目录的更改工夫更靠近当初的文件或目录;
- -nogroup:找出不属于本地主机群组识别码的文件或目录;
- -noleaf:不去思考目录至多需领有两个硬连贯存在;
- -nouser:找出不属于本地主机用户识别码的文件或目录;
- -ok<执行指令>:此参数的成果和指定“-exec”相似,但在执行指令之前会先询问用户,若答复“y”或“Y”,则放弃执行命令;
- -path<范本款式>:指定字符串作为寻找目录的范本款式;
- -perm<权限数值>:查找合乎指定的权限数值的文件或目录;
- -print:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局为每列一个名称,每个名称前皆有“./”字符串;
- -print0:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局为全副的名称皆在同一行;
- -printf<输入格局>:假如find指令的回传值为Ture,就将文件或目录名称列出到规范输入。格局能够自行指定;
- -prune:不寻找字符串作为寻找文件或目录的范本款式;
- -regex<范本款式>:指定字符串作为寻找文件或目录的范本款式;
- -size<文件大小>:查找合乎指定的文件大小的文件;
- -true:将find指令的回传值皆设为True;
- -type<文件类型>:只寻找合乎指定的文件类型的文件;
- -uid<用户识别码>:查找合乎指定的用户识别码的文件或目录;
- -used<日数>:查找文件或目录被更改之后在指定工夫曾被存取过的文件或目录,单位以日计算;
- -user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
- -version或——version:显示版本信息;
- -xdev:将范畴局限在后行的文件系统中;
- -xtype<文件类型>:此参数的成果和指定“-type”参数相似,差异在于它针对符号连贯查看。
几个容易被搞混的参数
- -amin n 查找零碎中最初n分钟拜访的文件(如:cat)
- -atime n 查找零碎中最初
n*24
小时拜访的文件(如:cat) - -cmin n 查找零碎中最初n分钟被扭转文件状态的文件(如:批改文件的权限)
- -ctime n 查找零碎中最初
n*24
小时被扭转文件状态的文件(如:批改文件的权限) - -mmin n 查找零碎中最初n分钟被扭转文件数据的文件(如:批改文件的内容)
- -mtime n 查找零碎中最初
n*24
小时被扭转文件数据的文件(如:批改文件的内容)
n有正负之分,n示意文件更改工夫间隔为n天(分钟), -n示意文件更改工夫间隔在n天(分钟)以内,+n示意文件更改工夫间隔在n天(分钟)以前。
以mtime
为例子
- -mtime 0 示意文件批改工夫间隔以后为0天的文件,即间隔以后工夫不到1天(24小时)以内的文件。
- -mtime 1 示意文件批改工夫间隔以后为1天的文件,即间隔以后工夫1天(24小时-48小时)的文件。
- -mtime +1 示意文件批改工夫为大于1天的文件,即间隔以后工夫2天(48小时)之外的文件
- -mtime -1 示意文件批改工夫为小于1天的文件,即间隔以后工夫1天(24小时)之内的文件
为什么
-mtime +1
示意文件批改工夫为大于1天的文件,即间隔以后工夫48小时之外的文件,而不是24小时之外的呢?
因为n值只能是整数,即比1大的最近的整数是2,所有-mtime +1
不是比以后工夫大于1天(24小时),而是比以后工夫大于2天(48小时)。
查找零碎中24小时以内被拜访过的文件
> find / -atime -1
查找零碎中24小时以内被批改过内容的文件
> find / -mtime -1
查找零碎中48小时之前被批改过内容的文件
> find / -mtime +1
查找零碎中所有的.log
结尾的文件
> find / -name *.log
查找零碎中文件大于100M的文件
> find / -size +100M
- b —— 块(512字节)
- c —— 字节
- w —— 字(2字节)
- k —— 千字节
- M —— 兆字节
- G —— 吉字节
查找零碎中文件大于100M小于500M的文件
> find / -type f -size +100M -size -500M
查找零碎中文件大于500M的文件,并删除
> find / -type f -size +500M -delete 或 > find / -type f -size +500M -exec rm -rf {} \; 或 > find / -type f -size +500M | xargs rm
查找零碎中权限为777的文件
> find / -perm 777
查找零碎中的空文件
> find / -empty -type f
原文链接:https://rumenz.com/rumenbiji/…
微信公众号:入门小站
linux常用命令速查手册PDF下载
3669页vim参考手册PDF下载
阿里云ECS运维Linux系统诊断PDF下载
Docker速查手册PDF下载
Linux学习笔记【强悍总结值得一看】PDF下载
shell扼要教程PDF下载