Linux---find文件查找命令

在Linux下文件查找命令有两个---locate和find

一、locate 命令

只对其生成的数据库经行遍历(生成数据库的命令updatedb),速度快但是locate只能对

文件进行模糊匹配,精度不高,非实时的

-i: //查找文件的时候不区分大小写实例:locate -Ipasswd

-n://只显示查找结果的前n行   实例:locate -n 5 passwd

查询之前需要执行   updatedb命令

二、find命令

实时、精确、支持众多查找标准、遍历指定目录中的所有文件完成查找,速度慢

1、使用格式:find [指定查找目录][查找规则][查找完后执行的action]

查找路径:默认当前路径   查找标准:默认指定路径下的所有文件   处理动作:默认为显示

例如:find /etc/tmp/root -name passwd

根据文件名查找

# -name //根据文件名查找(精确查找)

#-iname //根据文件名查找,但是不区分大小写

#-regex PATTERN 基于正则表达式进行文件名匹配

2、文件名通配

*表示  通配的任何意义的字符

find /etc -name "*passwd*"

?表示通配任意的单个字符

find/etc -name "passwd?"

[]通配中刮号里面的任意一个字符

find /etc/ -name "[ab].sh"

3、使用文件所属用户和组查找文件(uid gid)

# -user //根据属主来查找文件

find /tmp -uid 0

# -group //根据属组查找文件

find /tmp  -gid o

4、-a and -o and-not的使用

-a :连接两个不同条件(两个条件必须同时满足)

-o :连接两个不同的条件(两个条件满足其中之一即可)

-not :对条件取反

find /etc/ -name "-*.sh"-a-user root

find /etc/-not -user root

find ./-not -user user1-o -not -type d

find ./ -not \( -useruser1 -a -type d \)\

5、根据时间戳的相关属性来查找文件

stat命令查看一个文件的时间信息

stat /etc/ passwd

atime :最近一次访问时间

mtime :最近一次内容修改时间

ctime :最近一次属性修改时间

实例:

find /tmp -atime +5  //表示查找在5天内没有访问过的文件

find /tmp -atime -5 //访问在5天内访问过的文件

其他同理

6、根据文件类型来查找文件

-tpye

f:    //普通文件

d:   //目录文件

l:  //链接文件

b:  //块设备文件

c:  //字符设备文件

p:  //管道文件

s:   //socket文件

find /tmp-type s

7、根据大小来查找文件

-size  [+|-]

find /tmp -size 2M  //查找在/tmp目录下等于2M的文件

find /tmp -size +2M  //查找在/tmp目录下大于2M的文件

find /tmp -size -2M  //查找在/tmp目录下小于2M的文件

8、根据文件权限查找(-perm)

-perm MODE 精确查找

/MODE :任意一位匹配即满足条件

-MODE:文件权限能完全包含此MODE时才符合条件

-644

find ./ -per1 -001

find /tmp -perm  755    //查找在/tmp目录下权限是755的文件

find /tmp -perm +222    //表示只要有一类用户(属主/属组/其他)的匹配写权限就行

find /tmp -perm -222    //表示必须所有类别用户都满足有写权限

9、-nouser and -nogroup

find / -nogrop -a -nouser //在整个系统中查找即没有属主又没有属组的文件(这样的文件

通常很危险,应该及时清除,否则后患无穷)

10、[查找执行的action]
       -print            //默认情况下的动作

-ls                //查找后用ls 显示出来

-ok  [commend]    //查找后执行命令的时候询问用户是否要执行

-exec [commend]     //查找后执行命令的时候不询问用户,直接执行

find /tmp -name "*.sh" -exec chmod u+x {}\;     {} 替代查找到的文件

find /tmp -atime +30 -exec rm -rf{} \;

时间: 2024-10-12 09:11:10

Linux---find文件查找命令的相关文章

linux之文件查找命令find技巧

1. 想查看当前文件夹及子文件夹里有没有文件名为"abc"的文件 find -name abc -name:表示要根据名称查找 2. 想查看当前文件夹及子文件夹里有没有"xyz"目录 find -type d -name xyz type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件).l(链接文件) 3. 想找出当前文件夹及子文件夹里所有后缀是".txt"的文件 find -name *.txt *.txt 代表以.txt结尾的文件目

linux下find(文件查找)命令的详解

文件查找命令locate和find详解 locate 配合数据库缓存,快速查看文件位置,非实时查找( 数据库查找) find 实际搜寻硬盘查询文件名称 ,实时查找 locate简介 locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在

linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令 在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等. (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找. 一.find命令 基本格式:find  path expression 1.按照文件名查找 (1)find / -

Linux 文件查找命令find,xargs详述

Linux文件查找命令find,xargs详述     <exec 后期讲解> 关于find命令 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限. 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统). 一.find 命令格式 1.find命令的一般形式为:

Linux文件查找命令find,xargs详述

转自:http://www.linuxsir.org/main/node/137本文进行了整理修订 Linux文件查找命令find,xargs详述 摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解:本文是zhyfly兄贴在论坛中:我对本文进行了再次整理,为方便大家阅读: 目录 版权声明 前言:关于find命令 一.find 命令格式 1.find命令的一般形式为: 2.find命令的参数: 3.find命令选项: 4.使用exec或ok来执

find——文件查找命令 linux一些常用命令

find 命令eg: 一般文件查找方法: 1.  find /home -name file  ,  在/home目录下查找文件名为file的文件2.  find /home -name '*file*'  ,  在/home目录下查找文件名包含file的文件3.  find /home -name 'file*'  ,  在/home目录下查找以file开头的文件名的文件4.  find /home -size 512c  ,    在/home目录下查找512kb大小的文件5.  find

Linux下的文件查找命令——find

Linux下几个常见的文件查找命令: which       查看可执行文件的位置 whereis    寻找特定文件,查看文件的位置 locate       配合数据库查看文件位置 find          实际搜寻硬盘查询文件名称 通常情况下find命令并不是很常用,大家都优先使用whereis和locate命令来查找,因为whereis和locate命令都是利用数据库来查找文件所在,并没有实际查询硬盘,所以速度很快,节省时间.但是我们的find命令依然很强大,它的查找条件相当多,对于用

Linux文件查找命令find,xargs详述【转】

转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Linux文件查找命令find,xargs详述 总结:zhy2111314来自:LinuxSir.Org整理:北南南北摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解:本文是zhyfly兄贴在论坛中:我对本文进行了再次整理,为方便大家阅读: 目录

Linux文件查找命令

1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目录.默认为当前目录. - <指定条件>: 所要搜索的文件的特征. - <指定动作>: 对搜索结果进行特定的处理. 如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显