Linux中find查找命令用法详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux中find查找命令⽤法详解
Linux下查找⽂件的命令有两个,分别是locate 和 find。

locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和⽬录资料先建⽴⼀个索引数据库,在执⾏loacte时直接找该索引,查询速度会较快,索引数据库⼀般是由操作系统管理,但也可以直接下达update强迫系统⽴即修改索引数据库。

简单介绍下它的两个选项。

#locate
-i //查找⽂件的时候不区分⼤⼩写⽐如:locate –i passwd
-n //只显⽰查找结果的前N⾏⽐如:locate -n 5 passwd
Linux下find命令在⽬录结构中搜索⽂件,并执⾏指定的操作。

Linux下find命令提供了相当多的查找条件,功能很强⼤。

由于find具有强⼤的功能,所以它的选项也很多,其中⼤部分选项都值得我们花时间来了解⼀下。

即使系统中含有⽹络⽂件系统( NFS),find命令在该⽂件系统中同样有效,只你具有相应的权限。

在运⾏⼀个⾮常消耗资源的find命令时,很多⼈都倾向于把它放在后台执⾏,因为遍历⼀个⼤的⽂件系统可能会花费很长的时间(这⾥是指30G字节以上的⽂件系统)。

find使⽤格式: find [指定查找⽬录] [查找规则] [查找完后执⾏的action]
find在不指定查找⽬录的情况下是对整个系统进⾏遍历查找
find命令详解
查找⽂件
find ./ -type f
查找⽬录
find ./ -type d
查找名字为test的⽂件或⽬录
find ./ -name test
查找名字符合正则表达式的⽂件,注意前⾯的‘.*'(查找到的⽂件带有⽬录)
find ./ -regex .*so.*\.gz
查找⽬录并列出⽬录下的⽂件(为找到的每⼀个⽬录单独执⾏ls命令,没有选项-print时⽂件列表前⼀⾏不会显⽰⽬录名称)
find ./ -type d -print -exec ls {} \;
查找⽬录并列出⽬录下的⽂件(为找到的每⼀个⽬录单独执⾏ls命令,执⾏命令前需要确认)
find ./ -type d -ok ls {} \;
查找⽬录并列出⽬录下的⽂件(将找到的⽬录添加到ls命令后⼀次执⾏,参数过长时会分多次执⾏)
find ./ -type d -exec ls {} +
查找⽂件名匹配*.c的⽂件
find ./ -name \*.c
打印test⽂件名后,打印test⽂件的内容
find ./ -name test -print -exec cat {} \;
不打印test⽂件名,只打印test⽂件的内容
find ./ -name test -exec cat {} \;
查找⽂件更新⽇时在距现在时刻⼆天以内的⽂件
find ./ -mtime -2
查找⽂件更新⽇时在距现在时刻⼆天以上的⽂件
查找⽂件更新⽇时在距现在时刻⼀天以上⼆天以内的⽂件
find ./ -mtime 2
查找⽂件更新⽇时在距现在时刻⼆分以内的⽂件
find ./ -mmin -2
查找⽂件更新⽇时在距现在时刻⼆分以上的⽂件
find ./ -mmin +2
查找⽂件更新⽇时在距现在时刻⼀分以上⼆分以内的⽂件
find ./ -mmin 2
查找⽂件更新时间⽐⽂件abc的内容更新时间新的⽂件
find ./ -newer abc
查找⽂件访问时间⽐⽂件abc的内容更新时间新的⽂件
find ./ -anewer abc
查找空⽂件或空⽬录
find ./ -empty
查找空⽂件并删除
find ./ -empty -type f -print -delete
查找权限为644的⽂件或⽬录(需完全符合)
find ./ -perm 664
查找⽤户/组权限为读写,其他⽤户权限为读(其他权限不限)的⽂件或⽬录find ./ -perm -664
查找⽤户有写权限或者组⽤户有写权限的⽂件或⽬录
find ./ -perm /220
find ./ -perm /u+w,g+w
find ./ -perm /u=w,g=w
查找所有者权限有读权限的⽬录或⽂件
find ./ -perm -u=r
查找⽤户组权限有读权限的⽬录或⽂件
find ./ -perm -g=r
查找其它⽤户权限有读权限的⽬录或⽂件
find ./ -perm -o=r
查找所有者为lzj的⽂件或⽬录
find ./ -user lzj
查找组名为gname的⽂件或⽬录
find ./ -group gname
查找⽂件的⽤户ID不存在的⽂件
find ./ -nouser
查找⽂件的组ID不存在的⽂件
查找有执⾏权限但没有可读权限的⽂件
find ./ -executable \! -readable
查找⽂件size⼩于10个字节的⽂件或⽬录
find ./ -size -10c
查找⽂件size等于10个字节的⽂件或⽬录
find ./ -size 10c
查找⽂件size⼤于10个字节的⽂件或⽬录
find ./ -size +10c
查找⽂件size⼩于10k的⽂件或⽬录
find ./ -size -10k
查找⽂件size⼩于10M的⽂件或⽬录
find ./ -size -10M
查找⽂件size⼩于10G的⽂件或⽬录
find ./ -size -10G
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

相关文档
最新文档