Linux find命令

find

功能说明:查找文件或目录。

语 法:find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24 小时

>][-cmin < 分 钟 >][-cnewer < 参考文件或目录 >][-ctime <24 小时数

>][-daystart][-depyh][-empty][-exec < 执行指令 >][-false][-fls < 列表文件

>][-follow][-fprint <列表文件>][-fprint0 <列表文件>][-fprintf <列表文件><输出格式

>][-fstype <文件系统类型>][-gid <群组识别码>][-group <群组名称>][-help][-ilname <

范本样式>][-iname <范本样式>][-inum <inode 编号>][-ipath <范本样式>][-iregex <

本样式 >][-links < 连接数目 >][-lname < 范本样式 >][-ls][-maxdepth < 目录层级

>][-mindepth <目录层级>][-mmin <分钟>][-mount]

[-mtime <24 小时数 >][-name < 范本样式 >][-newer < 参考文件或目录

>][-nogroup][noleaf] [-nouser][-ok <执行指令>][-path <范本样式>][-perm <权限数值

>][-print][-print0][-printf <输出格式>][-prune][-regex <范本样式>][-size <文件大小

>][-true][-type <文件类型>][-uid <用户识别码>][-used <日数>][-user <拥有者名称

87>][-version][-xdev][-xtype <文件类型>]

补充说明: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 在线帮助。 

88-ilname<范本样式> 此参数的效果和指定"-lname"参数类似,但忽略字符大小写的差

别。 

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

别。 

-inum<inode 编号> 查找符合指定的 inode 编号的文件或目录。 

-ipath<范本样式> 此参数的效果和指定"-ipath"参数类似,但忽略字符大小写的差别。 

-iregex<范本样式> 此参数的效果和指定"-regexe"参数类似,但忽略字符大小写的差

别。 

-links<连接数目> 查找符合指定的硬连接数目的文件或目录。 

-iname<范本样式> 指定字符串作为寻找符号连接的范本样式。 

-ls 假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。 

-maxdepth<目录层级> 设置最大目录层级。 

-mindepth<目录层级> 设置最小目录层级。 

-mmin<分钟> 查找在指定时间曾被更改过的文件或目录,单位以分钟计算。 

-mount 此参数的效果和指定"-xdev"相同。 

-mtime<24 小时数> 查找在指定时间曾被更改过的文件或目录,单位以 24 小时计算。 

-name<范本样式> 指定字符串作为寻找文件或目录的范本样式。 

-newer<参考文件或目录> 查找其更改时间较指定文件或目录的更改时间更接近现在

的文件或目录。 

-nogroup 找出不属于本地主机群组识别码的文件或目录。 

-noleaf 不去考虑目录至少需拥有两个硬连接存在。 

-nouser 找出不属于本地主机用户识别码的文件或目录。 

-ok<执行指令> 此参数的效果和指定"-exec"参数类似,但在执行指令之前会先询问用

户,若回答"y""Y",则放弃执行指令。 

-path<范本样式> 指定字符串作为寻找目录的范本样式。 

-perm<权限数值> 查找符合指定的权限数值的文件或目录。 

-print 假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。格式为

每列一个名称,每个名称之前皆有"./"字符串。 

-print0 假设 find 指令的回传值为 True,就将文件或目录名称列出到标准输出。格式

为全部的名称皆在同一行。 

89-printf<输出格式> 假设 find 指令的回传值为 True,就将文件或目录名称列出到标准

输出。格式可以自行指定。 

-prune 不寻找字符串作为寻找文件或目录的范本样式。 

-regex<范本样式> 指定字符串作为寻找文件或目录的范本样式。 

-size<文件大小> 查找符合指定的文件大小的文件。 

-true find 指令的回传值皆设为 True 

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

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

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

日计算。 

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

-version --version 显示版本信息。 

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

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

查。

常用选项:

格式:find [目录] [条件1]

-type 类型(f文本文件、d目录、l快捷方式)

  1. ]# find /opt -type d
  2. ]# find /etc -type l
  3. ]# find /boot -type f

-name "文档名称" (-iname 忽略大小写) 可使用通配符

  1. ]# find /etc -name "passwd"
  2. ]# find /etc -name "*tab"
  3. ]# find /etc -name "*.conf"
  4. ]# find /root -name ".*" #查找隐藏数据

 -size +或- 文件大小(k、M、G) +的意思是多少以上,-的意思是多少以下。

        ]# find /boot -size +10M -size -50M        

 -user 用户名 (按照数据的所有者)

  1. ]# useradd natasha #创建用户
  2. ]# find /home -user natasha
  3. ]# find / -user natasha

-mtime 修改时间 (所有的时间都是过去时间) 

        -mtime +90 #90天之前的数据

        -mtime -90 #最近90天之内的数据

                 ]# find /var -mtime +90

 联合查询

  1. ]# find /mnt/ -name "cbd*" -type d
  2. ]# find /mnt/ -name "cbd*" -type f
  3. ]# find /mnt/ -name "cbd*" -o -type f #两个满足其中一个

    当两个查询条件时,默认是与查询,可以省略,而或查询则需要添加-o选项

find高级使用

处理find找到的数据,每查找的一个就传递一次

格式:find [范围] [条件] -exec 处理命令 {} \;

-exec额外操作的开始

{} 永远表示前面find查找的结果

\; 额外操作的结束

]# find /boot -size +10M -exec cp {} /mnt \;

]# find /boot -size +10M -exec ls -lh {} \; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值