linux find o命令,linux命令find用法详解

功能说明:查找文件或目录。语  法:find [目录...][-amin ][-anewer ][-atime <24小时数>][-cmin ][-cnewer ][-ctime <24小时数>][-daystart][-depth][-empty][-exec ][-false][-fls ][-follow][-fprint ][-fprint0 ][-fprintf ][-fstype ][-gid ][-group ][-help][-ilname ][-iname ][-inum ][-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 ][-version][-xdev][-xtype ]补充说明:find指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录。参  数: -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编号的文件或目录。  -ipath  此参数的效果和指定"-ipath"参数类似,但忽略字符大小写的差别。  -iregex  此参数的效果和指定"-regexe"参数类似,但忽略字符大小写的差别。  -links  查找符合指定的硬连接数目的文件或目录。  -lname  指定字符串作为寻找符号连接的范本样式。  -ls  假设find指令的回传值为true,就将文件或目录名称列出到标准输出。  -maxdepth  设置最大目录层级。  -mindepth  设置最小目录层级。  -mmin  查找在指定时间曾被更改过的文件或目录,单位以分钟计算。  -mount  此参数的效果和指定"-xdev"相同。  -mtime<24小时数>  查找在指定时间曾被更改过的文件或目录,单位以24小时计算。  -name  指定字符串作为寻找文件或目录的范本样式。  -newer  查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。  -nogroup  找出不属于本地主机群组识别码的文件或目录。  -noleaf  不去考虑目录至少需拥有两个硬连接存在。  -nouser  找出不属于本地主机用户识别码的文件或目录。  -ok  此参数的效果和指定"-exec"参数类似,但在执行指令之前会先询问用户,若回答"n"或"N",则放弃执行指令。  -path  指定字符串作为寻找目录的范本样式。  -perm  查找符合指定的权限数值的文件或目录。  -print  假设find指令的回传值为true,就将文件或目录名称列出到标准输出。格式为每行一个名称。

-print0  假设find指令的回传值为true,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行。  -printf  假设find指令的回传值为true,就将文件或目录名称列出到标准输出。格式可以自行指定。  -prune  不寻找字符串作为寻找文件或目录的范本样式。  -regex   指定正则表达式作为寻找文件或目录的范本样式。  -size  查找符合指定的文件大小的文件。  -true  将find指令的回传值皆设为true。  -type  只寻找符合指定的文件类型的文件。  -uid  查找符合指定的用户识别码的文件或目录。  -used  查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算。  -user  查找符合指定的拥有者名称的文件或目录。  -version或--version  显示版本信息。  -xdev  将范围局限在先行的文件系统中。  -xtype  此参数的效果和指定"-type"参数类似,差别在于它针对符号连接检查。

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

用find查找文件时要避开某一个目录(这个目录包含在所要搜索的路径中)的方法:

方法1:

find /  -path "/etc" -prune -o -name passwd -print

方法2:

find / -wholename "/etc" -prune -o -name passwd -print

针对文件模式"/etc"使用 -wholename 测试,如果该模式已找到,-prune 可防止 find 下到该目录中。布尔类型“-o”使 find 可以针对其他目录处理该命令的其余部分。由于每个表达式之间有一个假设的隐式 and 运算符 (-a),因此,如果左侧的表达式计算结果为 false,and 之后的表达式将不进行计算;因此需要 -o 运算符。find 还支持布尔类型 -not、!,就像使用括号

用find查找文件时避开多一个目录

find / \( -path /etc -o -path /usr \) -prune -o -name passwd -print (括号与-path之间有空格,这点要注意,还有的就是目录不能写成/etc/只能写成/etc,记住,不要加多一个斜杠)

只在当前文件系统查找

find / -mount -name passwd -print

find / -xdev -name passwd -print

find还可以用-a(and 与),-o(or 或),!(非),连接多个匹配选项,达到逻辑判断的目的。

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

find -name april* 在当前目录下查找以april开头的文件

find -name april* fprint filename 在当前目录下查找以april开头的文件,并把结果输出到filename中

find -name ap* -o -name may* 查找以ap或may开头的文件

find /mnt -name tom.txt -fstype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件

find /mnt -name t.txt ! -fstype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件

find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件

find /home -mtime -2 在/home下查最近两天内改动过的文件

find /home -atime -1 查1天之内被访问过的文件

find /home -mmin +60 在/home下查60分钟前改动过的文件

find /home -amin +30 查最近30分钟前被存取过的文件

find /home -newer tmp.txt 在/home下查更新时间比tmp.txt近的文件或目录

find /home -anewer tmp.txt 在/home下查访问时间比tmp.txt近的文件或目录

find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录

find /home -user cnscn 列出/home目录内属于用户cnscn的文件或目录

find /home -uid +501 列出/home目录内用户的识别码大于501的文件或目录

find /home -group cnscn 列出/home内组为cnscn的文件或目录

find /home -gid 501 列出/home内组id为501的文件或目录

find /home -nouser 列出/home内不属于本地用户的文件或目录

find /home -nogroup 列出/home内不属于本地组的文件或目录

find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层

find /home -name tmp.txt -mindepth 3 从第2层开始查

find /home -empty 查找大小为0的文件或空目录

find /home -size +512k 查大于512k的文件

find /home -size -512k 查小于512k的文件

find /home -links +2 查硬连接数大于2的文件或目录

find /home -perm 0700 查权限为700的文件或目录

find /tmp -name tmp.txt -exec cat {} \;

find /tmp -name tmp.txt -ok rm {} \;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值