linux下find的用法

来源:互联网 发布:淘宝上足球鞋正品店铺 编辑:程序博客网 时间:2024/05/16 11:32

find:命令

用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示

用法:find(选项)(参数)

选项:

-amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算; 

-anewer<参考文件或目录>:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录; 

-atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以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或--help:在线帮助;
-ilname<范本样式>:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别; 

-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别; 

-inum:查找符合指定的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; 

-typ<文件类型>:只寻找符合指定的文件类型的文件; 

-uid<用户识别码>:查找符合指定的用户识别码的文件或目录; 

-used<日数>:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算; 

-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录; 

-version或--version:显示版本信息; 

-xdev:将范围局限在先行的文件系统中; 

-xtype<文件类型>:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。

参数:  起始目录:查找文件的起始目录

1.列出当前目录及目录下所有文件和文件夹

# find .

2.在/home目录下查找一 .txt结尾的文件

# find  /home  -name "*.txt"

3.同上,但忽略大小写

# find  /home  -iname "*.txt"

4.当前目录及子目录下查找所有以.txt和.pdf结尾的文件

# find . \( -name "*.txt" -o -name "*.pdf" \)  或 # find . -name "*.txt" -o -name "*.pdf" 

5.匹配文件路径或者文件

# find /user/ -path “*local*”

6.基于正则表达式匹配文件路径

# find . -regex ".*\(\.txt\|\.pdf\)$"

7.同上,但是忽略大小

# find . -iregex ".*\(\.txt\|\.pdf\)$"

否定参数:

8.找出/home下不是以.txt结尾的文件
# find /name ! "*.txt"

根据文件类型进行搜索

# find . -type 参数类型

参数类型:

f :普通文件

l :链接文件

d:目录

c:字符设备

b:块设备

s:套接字

p:管道文件

基于目录深度搜索

9.向下最大深度限制为3

# find . -maxdepth 3 -type f

10.搜索出深度距离当前目录最少两个子目录的所有文件

# find . -mindepth 2 -type f

根据文件时间戳进行搜索

# find  . -type 时间戳

linux有三种时间戳:

1:访问时间(-atime/每天  -amin/每分):用户最近一次访问时间

2:修改时间(-mtime/每天  -mmin/每分):文件最后一次修改时间

3:变化时间(-ctime/每天 -cmin/每分):文件数据元(如权限)最后一次修改时间

11.搜索最近7天内被访问过的所有文件

# find . -type f -atime -7

12.搜索恰好在7天前被访问的所有文件

# find . -type f -atime 7

13.搜索超过7天内被访问的所有文件

#find . -type f -atime +7


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 产后7天了奶水少怎么办 刚生完小孩没有奶水怎么办 突然就没奶水了怎么办 生完小孩没有奶水怎么办 生完宝宝没有奶怎么办 剖腹产奶涨的疼怎么办 生产一天了没奶怎么办 第一天断奶 奶水一直流出怎么办 新生儿刚出生没奶水怎么办 安卓手机死机了怎么办 婴幼儿几天不拉大便怎么办 樱桃吃多了胃不舒服怎么办 空腹吃水果胃不舒服怎么办 吃水果后胃不舒服怎么办 吃水果伤胃了怎么办 大人吃退烧药不出汗怎么办 稍微吃点凉水果胃就疼怎么办 1岁宝宝感冒发烧怎么办 3岁小儿反复发烧怎么办 热感冒喉咙疼要怎么办 孩子感冒咳嗽嗓子疼怎么办 孕妇感冒了嗓子疼咳嗽怎么办 4岁宝宝反复高烧怎么办 小孩吃完药不退烧怎么办 六个月婴儿发烧怎么办退烧快点 咳嗽20天老不好怎么办 吃过退烧药出汗怎么办 5岁儿童发烧39度怎么办 小孩烧到39度怎么办 儿童7岁发烧39度怎么办 发烧没药怎么办怎样退烧快 小孩发烧怎么办怎样退烧快 发烧头疼怎么办最快最有效 发烧头晕怎么办最快最有效 婴儿发烧怎么办最快最有效 孩子一直37度8怎么办 一岁半宝宝37度5怎么办 发烧打了针35度怎么办 小孩发烧吃了鱼怎么办 八个月婴儿发烧39度怎么办 婴儿反复发烧39度怎么办