一、文件查找工具常用软件
locate:
locate 命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地 所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使 用locate之前,先使用updatedb命令,手动更新数据库。
find:
find命令用来在指定目录下查找文件,通过遍历指定的目标目录,实时查找符合指定属性的文件。可以结合正则表达式(REGular EXPressio)来匹配模式。
二、软件常用参数及使用方式
locate:
使用格式:locate [OPTION]… PATTERN…
常用参数:
-i:忽略大小写
实例:
过滤/etc/下以sh开头的文件
# locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
find:
find [OPTIONS] [查找路径] [查找条件] [处理动作]
查找路径:默认为当前路径;
查找条件:默认为指定路径下的所有文件;
处理动作:默认为打印至屏幕;
1、查找路径
默认为当前路径,可以指定系统内的任意路径,但不建议使用/
2、查找条件
(1)基本查找条件
a、用户、用户组及文件名查找
-name “文件名”:文件名支持使用globbing
glob:文件名通配;快速引用多个文件;文件名整体匹配度检测;
元字符:基于元字符可编写匹配模式(pattern);
*:匹配任意长度的任意字符;
?:匹配任意单个字符;
[ ]:匹配指定集合内的任意单个字符;
[a-z], [A-Z]:不区分字符大小写;
[0-9]
[a-z0-9]
[[:upper:]]:所有大写字母;
[[:lower:]]:所有小写字母;
[[:digit:]]:所有的数字;
[[:alpha:]]:所有字母;
[[:alnum:]]:所有字母和数字;
[[:space:]]:空白字符;
[[:punct:]]:标点符号;
[^ ]:匹配指定集合外的任意单个字符;
实例:
# find /etc -name "passwd*"
-iname “文件名” 不区分大小写
实例:
# find /tmp -iname "*yum*" /tmp/yum.log /tmp/YUM.LOG # find /tmp -name "*yum*" /tmp/yum.log
-user USERNAME:根据属主查找
-group USERNAME:根据属组查找
实例:
# find /var -user root -o -group mail
-uid UID:根据指定UID查找
-gid GID:根据指定GID查找
实例:
# find /tmp -uid 3323 -ls
2346806 0 -rw-rw-r-- 1 mageedu mageedu 0 Mar 10 09:36 /tmp/mageedu
2346812 0 -rw-rw-r-- 1 mageedu mageedu 0 Mar 10 09:36 /tmp/testfile
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件需
-nouser与-nogroup参数主要用在当公司员工离职后,虽然账户删除,但是他所有权限的文件还存在,并且以UID的形式来标识属主与属组,既当有uid有这个用户相同时就会可以查看此文件,所以需要删除此类文件。
实例:
# find /tmp -nouser -nogroup -ls
2346806 0 -rw-rw-r-- 1 3323 3323 0 Mar 10 09:36 /tmp/mageedu
2346812 0 -rw-rw-r-- 1 3323 3323 0 Mar 10 09:36 /tmp/testfile
b、文件类型查找
-type TYPE: 根据文件类型查找
f: 普通文件
d: 目录文件
l: 符号链接文件
b: 块设备
c: 字符设备文件
p: 命令名管道文件
s: 套接字文
实例:
# find /tmp -type d -ls
c、文件大小
-size [+|-]#UNIT:
常用单位有:k, M, G
#UNIT: #-1 < x <= #
2k指1k-2k
-#UNIT:x <= #-1
-2k:指0k-1k
+#UNIT: x > #
+2k:指2k到正无穷
实例:
# find /etc/ -type f -size +1
d、时间戳查找
以“天”为单位
-atime [+|-]#
-mtime [+|-]#
-ctime [+|-]#
#: 例如:今天为3月10日,3就是3月7日到3月8日(注意天是24小时制)
-#: 例如:今天为3月10日,-3就是三天内指,3月7日的现在时间到现在的时间。
+#: 例如:今天为3月10日,+3就是三天前之前指,3月7日前
以“分钟”为单位
-amin [+|-]#
-mmin
-cmin
实例:
# find /etc -not -user root -not -user hadoop -mtime -7 # find / -nouser -nogroup -atime -3
e、权限查找
根据权限查找:
-perm [+|-]MODE
MODE: 与MODE精确匹配
+MODE:任何一类用户的权限只要能包含对其指定的任何一位权限即可;
-MODE:每一类用户的权限都包含对其指定的所有权限;
#这里是指包含,例如:-444 指在属主、属组、其他用户中只要包含读权限就可以。
实例:
# find /etc/init.d/ -perm -113 #此处指所有用户都有执行权限,其他用户有写权限的文件或目录 # find /etc/ -type f -not -perm +222 #此处指所有用户都没有写权限
(2)组合查找条件
组合查找条件:
与:-a, 查找条件1 -a 查找条件2 -a …
所有条件必须同时满足
或:-o, 查找条件1 -o 查找条件2 -o …
满足其中一个条件即可
非:-not, !
-not 查找条件
实例:
# find / \( -nouser -o -nogroup \) -a -atime -3 # find /etc/ -not \( -user root -o -user hadoop \) -a -mtime -7
3、处理动作
-print: 默认动作,打印至屏幕;
-ls: 显示找到的文件的详细属性;
-exec COMMAND {} \;
-ok COMMAND {} \;
#exec与ok的区别:ok会提供交互式,让你确认。而exec则不需要;
实例:
# find /tmp -iname "*yum*" -type f -ls 134 0 -rw-r--r-- 1 root root 0 Mar 10 09:32 /tmp/yum.log 137 0 -rw-r--r-- 1 root root 0 Mar 10 09:32 /tmp/YUM.LOG # find /tmp -iname "*yum*" -type f -exec ls -l {} \; -rw-r--r-- 1 root root 0 Mar 10 09:32 /tmp/yum.log -rw-r--r-- 1 root root 0 Mar 10 09:32 /tmp/YUM.LOG # find /tmp -iname "*yum*" -type f -exec echo {} >>/tmp/test.file \; # find /tmp -iname "*yum*" -type f -ok echo {} >>/tmp/test.file \; < echo ... /tmp/yum.log > ? y < echo ... /tmp/YUM.LOG > ? y
http://www.techug.com/linux-find
相关推荐
在Linux系统中,`find`命令是非常强大的文件搜索工具之一,它能够帮助用户根据不同的条件查找文件,包括文件名、大小、类型以及文件最后修改时间等。本篇文章将重点介绍如何利用`find`命令按文件最后修改时间进行...
Linux文件查找命令`find`和`xargs`是Linux系统中非常重要的工具,它们帮助用户在文件系统中高效地定位和处理文件。本文将详细解释这两个命令的基本使用和相关选项。 `find`命令是一个功能强大的命令,用于在指定...
Linux下的`find`命令是系统管理员和用户们日常工作中不可或缺的工具,它允许用户在文件系统中高效地查找和管理文件。这篇文档将详细介绍`find`命令的基本使用、选项、参数以及一些实用的实例。 `find`命令的基本...
### Linux 文件查找命令 find 在Linux系统中,`find`命令是极其强大的工具,用于在文件系统中搜索和定位特定的文件或目录。通过灵活的选项设置,`find`能够根据文件名、权限、所有者、修改时间等多种条件进行精确...
一、文件查找工具常用软件 locate: locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。...
Linux 中的 find 命令是一种实时查找工具,通过遍历指定路径完成文件查找工作。该命令具有查找速度略慢、精确查找、实时查找和查找条件丰富等特点。 基本语法: ``` find [OPTION]... [查找路径] [查找条件] [处理...
### Linux文件查找技巧详解 #### 一、引言 在Linux系统中,文件查找是一项非常重要的技能。与Windows系统相比,Linux系统具有更多的文件管理工具和技术。本文将详细介绍如何使用`find`命令来查找文件,并深入探讨...
在这个主题中,我们重点关注的是Linux系统中的文件查找工具——`find`命令。 `find`命令是Linux系统中用于搜索指定目录下满足特定条件的文件或目录的强大力量。它的功能强大,能够帮助用户在大量文件中快速定位目标...
【Linux文件查找命令find】 在Linux操作系统中,文件查找是一个常用的任务,而“find”命令则是实现这一任务的关键工具。由于Linux系统具有多种发行版且不断更新,有时即便参考书籍中给出的文件位置,也可能因版本...
在 Linux 系统中,find 命令是一个非常强大的工具,用于搜索和查找文件。今天,我们将通过实践教程,学习如何使用 find 命令来查找文件,并深入了解 Linux 文件的三种时间。 查找文件 find 命令可以根据文件的修改...
【Linux查找文件命令find】 在Linux操作系统中,文件管理和定位是一项基本且重要的任务。与Windows系统中的简单搜索功能相比,Linux...通过灵活运用各种参数和选项,用户可以实现定制化的文件查找,从而提高工作效率。
需要注意的是,find 命令的时间戳参数可以与其他参数组合使用,以实现更加复杂的文件查找功能。例如,查找过去 24 小时内修改的文件,并且文件名以 txt 结尾:`find . -mtime 0 -name "*.txt"` 使用 find 命令根据...
在Windows操作系统中,有时我们可能需要执行类似于Linux的高级文件搜索和管理任务,这时就可以借助于类Linux工具来实现。...在实际操作中,可以根据具体需求灵活运用各种参数,实现高效精确的文件查找。
基于多线程技术的 Linux 环境下文件查找器 find 的设计与实现 本文主要介绍了基于多线程技术的 Linux 环境下文件查找器 find 的设计与实现。Find 命令是 Unix 操作系统中的一种常用命令,能够实现多种条件的查询,...
### Linux查询并删除文件知识点详解 #### 一、引言 在Linux系统中,文件管理是日常运维工作中不可或缺的一部分。本文将详细介绍如何在Linux环境下查询并删除文件,这对于系统管理员和开发人员来说是非常实用的技能...
总的来说,理解和掌握这些Linux文件查找方法,无论是对于系统开发还是日常维护,都能极大地提高工作效率。需要注意的是,不同的Linux发行版可能有不同的默认设置和文件位置,因此熟悉所用系统的特性是非常重要的。
`find`命令是Linux中最常用的文件查找工具之一,它能够根据不同的标准(如名称、大小、类型等)来搜索文件,并且支持多种复杂的组合查询。对于初学者来说,熟练掌握`find`命令不仅可以提高工作效率,还能深入理解...
在Linux操作系统中,`find`命令是一个非常强大的工具,用于在文件系统中搜索符合特定条件的文件和目录。本文将详细讲解如何使用`find`命令查找文件,并进一步介绍如何安全地删除这些找到的文件。首先,让我们理解`...
`find` 命令是Linux中最强大的文件查找工具之一,可以根据多种条件进行文件查找。 **基本用法:** ```bash find [路径] <表达式> ``` **表达式说明:** - `-name <表达式>`:根据文件名查找文件。 - `-iname ...
`find` 是 Linux 和类 Unix 系统中一个非常强大的工具,用于在文件系统中搜索文件。它提供了多种选项来根据不同的标准进行精确查找,如文件名、权限、拥有者等。对于大型文件系统的搜索,`find` 可能会消耗大量的...