find命令
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录欲文件。并且将查找到的子目录和文件全部进行显示。
语法
find(选项)(参数)
选项
-amin<分钟>:查找在指定时间曾被存取过的文件或者目录,单位以分钟计算;
-anewer<参考文件或者目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;
-atime<23小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-cmin<分钟>:查找在指定时间之时被更改过的文件或目录;
-cnewer<参考文件或者目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-daystart:从本日开始计算时间;
-depth:从指定目录下最深层的字母开始查找;
-expty:寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录;
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-false:将find指令的回传值皆设为False;
-fls<列表文件>:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;
-follow:排除符号链接;
-fprint<列表文件>:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;
-fprint0<列表文件>:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;
-fprintf<列表文件><输出格式>:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;
-fstype<文件系统类型>:只寻找该文件系统类型下的文件或目录;
-gid<群组识别码>:查找符合指定之群组识别码的文件或目录;
-group<群组名称>:查找符合指定之群组名称的文件或目录;
-help:在线帮助;
-ilname<范本样式>:此参数的效果和指定“-lname”参数类似,忽略大小写差别;
-iname<范本样式>:此参数的效果和指定“name”参数类似,忽略大小写差别;
-inum<inode编号>:查找符合指定的inode编号的文件或目录;
-ipath<范本样式>:此参数的效果和指定“-path”参数类似,忽略大小写差别;
-iregex<范本样式>:此参数的效果和指定“-irgexe”参数类似,忽略大小写差别;
-links<连接数目>:查找符合指定的硬链接数目的文件或目录;
-newer<参考文件或目录>:查找其更改时间比较指定文件或目录的更改时间更接近现在的文件或目录;
-nogroup:找出不属于本地驻地群组识别代码的文件或目录;
-nouser:找出不属于本机用户识别码的文件或目录;
-size<文件大小>:查找符合指定文件大小的文件;
-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
-typ<文件类型>:只寻找符合指定的文件类型的文件;
-xdev:见范围局限在先行的文件系统中;
-perm<权限数值>:查找符合指定的权限数值的文件或目录;
-printf<输出格式>假设find指令回传值为Ture,就将文件或目录名称列出到标准输出,格式自定。
参数
起始目录:查找文件的起始目录。
实例
列出当前目录及子目录下的所有文件个文件夹
在/home目录下查找以 .txt 结尾的文件名
同上,但忽略大小写
当前目录及子目录下查找所有以.txt和.pdf结尾的文件
匹配文件路径或者文件
基于正则表达式匹配文件路径
同上,但忽略大小写
否定参数
找出/home下不是以.txt结尾的文件
根据文件类型进行搜索
f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifo
基于目录深度搜索
向下最大深度限制为3
搜索出深度距离当前目录至少2个子目录的所有文件
暂时和大家分享到这里,有什么不足之处,请大家和我及时沟通,谢谢。
原创文章,作者:eedsxb,如若转载,请注明出处:http://www.178linux.com/83542