20150830-linux文件查找工具

待完善。。。。

文件查找:

在文件系统上查找符合条件的文件的过程;

文件查找:locate, find

locate: 非实时查找工具;依赖于事先构建的索引;索引的构建是在系统较为空闲时自动进行(周期性任务);手动更新此数据库(updatedb);查找速度快;模糊查找;

find:实时查找;查找速度略慢;精确查找;

find命令:

find [OPTION]... [查找路径] [查找条件] [处理动作]

查找路径:默认为当前路径;

查找条件:指定的查找标准,可以根据文件名、大小、属主属组、类型等进行;默认为找出指定路径下的所有文件;

处理动作:对符合条件的文件做什么操作;默认为输出至屏幕;

查找条件:

根据文件名进行查找:

-name "文件名称": 支持使用glob;

*, ?, []

-iname "文件名称":不区分字符大小写,支持使用glob;

-regex "PATTERN":以PATTERN匹配整个文件路径字符串,而不仅仅是文件名称;

根据属主、属组查找:

-user USERNAME: 查找属主为指定用户的文件;

-group GROUPNAME:

-uid UserID: 查找文件的属主指定uid的文件;

-gid GroupID:

-nouser: 查找没有属主的文件;

-nogroup:查找没有属组的文件;

根据文件类型进行查找:

-type TYPE

f: 普通文件

d: 目录

l: 符号链接

b: 块设备

c: 字符设备

p: 命名管道

s: 套接字

组合查找条件:

与条件:-a

或条件:-o

非条件:-not, !

!A -o !B = !(A -a B)

!A -a !B = !(A -o B)

根据文件大小来查找:

-size [+|-]#UNIT

单位:k, M, G

#UNIT: (#-1,#]

+#UNIT: (#,+oo)

-#UNIT:[0,#-1]

根据时间戳:

以“天”为单位

-atime [+|-]#

#:[#,#+1)

+#: [#+1,oo]

-#: [0,#)

-mtime

-ctime

以“分钟”为单位

-amin

-mmin

-cmin

根据权限:

-perm [/|-]MODE

MODE: 精确权限匹配

/MODE:任何一类对象(u,g,o)的任何一位权限符合条件即可;隐含或条件;

/400

-MODE:为每一类对象指定的每一位权限都必须同时存在方为符合条件;隐含与条件;

处理动作:

-print: 默认处理动作

-ls:类似于对查找到的每个文件做"ls -l"的操作;

-delete: 删除查找到的文件;

-fls /path/to/somefile:查找到的文件的详细路径信息保存至指定文件中;

-ok COMMAND {} \;

对每个文件执行指定的命令之前需要用户事先确认;

-exec COMMAND {} \;

无需用户确认;

练习:

1、查找/var目录属主为root,且属组为mail的所有文件;

2、查找/usr目录下不属于root、bin或hadoop的所有文件;

3、查找/etc目录下最近一周内其内容修改过,且属主不为root或hadoop的所有文件;

4、查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件;

5、查找/etc目录下大于20k且类型为普通谁的的所有文件;

6、查找/etc目录下所有用户都没有写权限的文件;

7、查找/etc目录下至少有一类用户没有执行权限的文件;

8、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户拥有写权限的文件;

时间: 2024-11-06 03:44:57

20150830-linux文件查找工具的相关文章

Linux文件查找工具之find “大宝剑”

一.文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库. find:     find命令用来在指定目录下查找文件,通过遍历指定的

linux文件查找工具 -- find

简述: linux中find命令是一种强大的实时查找工具,它通过用户给出的路径,在该路径下的文件系统中进行文件查找.因此在遍历一个较大的文件系统时会比较花费时间,而且find命令占用资源也是比较大的,所以它的工作特点是,查找的速度略慢,但是可以实现精确查找和实时查找.由于用户权限的问题,可能只搜索用户具备读取和执行权限的目录.由于find命令能力很强大所以它的选项也有很多. find命令用法: find命令格式: find [选项] [查找起始路径] [查找条件] [处理动作] find [-H

Linux文件查找工具之find(详解)

find详解 一.find命令是什么? 实时查找工具,遍历指定目录中的所有文件完成查找. 二.find的工作特性: 实时查找 精确查找.支持众多查找标准 查找速度略慢 三.find的用法: find [OPTIONS][查找路径][查找条件][处理动作] (1)查找路径:指定具体的搜索目标的起始路径:默认为当前目录: (2)查找条件:指定的查找标准,可根据文件名.大小.类型.从属关系.权限等标准进行. 根据文件名查找: -name 'FILENAME':对文件名进行精确匹配: 支持支持glob风

Linux 系统之文件查找工具--- locate、 find详解

一.学习Linux为什么要学习文件查找工具? 作为Linux爱好者,或者Linux运维人员经常会遇到要查找某个或者某一类文件的问题,但对于"一切皆文件"的Linux系统来说,如何能够在成千上万的文件中快速精确的定位到我们所需的文件,对我们来说是至关重要的.因此,熟练掌握并运用Linux系统下的文件查找命令是我们快速定位的关键. 本文着重介绍Linux环境下的locate.find文件查找工具 二.文件查找工具locate使用详解 2.1.locate - find files by n

Linux下文件查找工具介绍

文件查找工具 locate find locate: 查询系统预建的文件索引数据库      1. /var/lib/mlocate/mlocate.db     2.因为依赖于事先构建的索引,而索引是系统在闲时自动进行的,管理员需要手动更新(updatedb). locate的特点:查找速度快        模糊查找        非实时查找        搜索的是文件的全路径,不仅仅是文件名        可能只搜索用户具备读取和执行权限的目录 基本语法:   -i :不区分大小写的搜索  

Linux文件查找.md

Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 whereis whereis命令是定位可执行文件.源代码文件.帮助文件在文件系统中的位置.这些文件的属性应属于原始代码,二进制文件,或是帮助文件.whereis 程序还具有搜索源代码.指定备用搜索路径和搜索不寻常项的能力. 语法 whereis [-bmsu] 文件或者目录名称 参数 -b 定位可执

文件查找工具之——find

前言:Linux一切皆文件,在linux的系统中如果我们需要找到所需的文件,除了一步一步慢慢找,还有一种办法就是要使用Linux中查找文件工具命令,能让我们很快定位到我们所需的文件.所以我们必须要学好文件查找工具 一.首先我们先要了解文本搜索和文件查找的区别 文本搜索:根据用户所指定的PATTERN.字符对文本文件中的内容进行过滤和匹配.常用的工具有"grep"."egrep"."fgrep" 文件查找:根据文件的各个属性去匹配相对应的文件.常用

Linux文件查找之find&locate

Linux文件查找之find&locate 一.概述 Linux系统核心的思想之一"一切皆文件",对于这么多的文件,如何快速查找过滤呢?下面我们就看看系统提供的文件查找命令find和locat,熟练使用find命令是运维人员的必经之路 二.find的用法及示例 1.find特点 查找速度略慢 精确查找 实时查找 只能搜索有读取和执行权限的目录 2.find用法 用法:find  [options]  [查找路径]  [ 查找条件]  [处理动作] 查找条件: 根据文件类型查找

Linux文件搜索工具--find、locate

文件查找 在文件系统上查找符合条件的文件: 文件查找: locate, find 非实时查找(数据库查找): locate 实时查找: find 1. 非实时查找(数据库查找): locate 查询系统上预建的文件索引数据库  (基于此数据库搜索) 数据库:  /var/lib/mlocate/mlocate.db 依赖于事先构建的索引 索引的构建是在系统较为空闲时自动进行(周期性任务), 管理员手动更新数据库 :  updatedb (新建立的文件,需要更新数据库以后才能搜索到,所以适合查找比

Linux文件查找

Linux文件查找 Linux的基本法则之一为一切皆文件,Linux遵循FHS(Filesystem Hierarchy Standard),文件系统目录标准,FHS采用树形结构组织文件:在使用过程中,我们会遇到知道文件名却不知道文件位置的情况,或者查找某些类型的文件,此时我们需要文件查找的功能. 一.常用查找命令: Locate与finad: locate命令为非实时查找模式:非实时查找,需要根据索引查找,依赖于索引,而索引构建相当占用资源:索引的创建是在系统空闲时由系统自动进行(每天任务):