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编号的文件或目录;
-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