文件查找命令locate与find的对比分析

文件查找命令locate与find的对比分析
一、locate
1、locate命令是用来文件查找的命令,依赖于事先构建的索引。而索引的更新并不是实时的,而是每次开机启动或者管理员手动更新。因为是使用事先建立的索引库进行检索,所以会有以下特点:
1)查找速度快
2)模糊查找
3)非实时查找
4)搜索的是文件的全路径,不仅仅是文件名
5)可能之搜索用户具备读取和执行权限的目录
2、Locate常用命令的选项
1)locate –i忽略大小写进行搜索。
2)locate -n#只列出搜索结果的前#个;例:locate -n3 app 即只列出文件名位app的前三个文件。
3)locate -r 表示输入的变量支持正则表达式;例:locate -r “^/etc/.*\.conf$”即表示搜索/etc/文件夹下以”.conf”结尾的文件。
二、find
1、 find是一个实时查找工具,它是通过将硬盘上的所有文件都扫描一遍来进行检索的,所以会有以下一些特点:
1)查找速度略慢
2)能精确查找
3)能实时查找
4)可能只搜索用户具备读取和执行权限的目录
2、find命令常用的选项
1)find -maxdepth level 指定最大搜索层数为几层。例:find /etc/ -maxdepth 2 f1 即搜索/etc/文件夹下2层中名为f1的文件
2)find -mindepth level 指定最小搜索层数为几层。
3)find -name “文件名称” “文件名称”支持通配符进行表达。
4)find -iname 搜索的文件忽略大小写进行搜索。
5)find -inum n 指定文件的节点编号进行搜索;例:find /data -inum 69 即表达为搜索/data/目录下文件节点编号为69的文件。
6)find -samefile 查找相同文件节点编号的文件(即搜索硬链接)
7)find -links n 按照链接数进行查找;例:find /data/ -links 2 即为查找/data/目录下链接数为2的文件。
8)find -regex “文件名称” “文件名称”支持正则表达式进行表达。
9)find -user 按照所有者查找文件;例:find /data/ -user ren 即表示为在/data/目录下搜索所有者为ren用户的文件。
10)find -group 按照所属组查找文件。
11)find -nouser 寻找没有所有者的文件。
12)find -nogroup 寻找没有所属组的文件。
13)find -uid 按照uid进行查找。
14)find -gid 按照gid进行查找。
15)find -o 或者;例:find /data/ -nouser -o -nogroup 即表示为在/data/目录下搜索没有所有者或者没有所属组的文件。
16)find -type d 可以用来寻找文件夹。
17)find -type l 可以用来寻找软链接。
18)find -size 按照文件大小来查找;
例:find -size 5M 即为搜索(0,5M]范围内的文件;
find -size -5M 即为搜索[0,4M]范围内的文件;
find -size +5M 即为搜索(5,∞)范围内的文件.
19) find -perm xxx 按照权限大小来搜索;例:find -prem 666即为搜索文件权限为666的文件。
find -perm -666 即为搜索文件权限包含666的文件;
find -perm /666 即为只要三个权限拥有者其中一个人的权限为6就在查找范围。
20)find -ls 以列表的形式显示输出结果。
21)find -delete 删除搜索到的文件。
22)find -fls “文件 ” =find -ls > “文件” 将“文件”中的信息输入到搜索的文件中。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95960

(1)
西行西行
上一篇 2018-04-14
下一篇 2018-04-14

相关推荐

  • Linux系统原理浅谈

    CPU   CPU和各个存储器   寄存器:接近于CPU的工作频率,是CPU的本地存储器,位于运算器和控制器中,在进程的切换时,寄存器会被清空 一级缓存:比寄存器稍慢,频率同样接近于CPU,只能用于缓存数据,不能像寄存器一样修改数据,各个核心都有自己的私有一级缓存,进程切换时不被清空 二级缓存:比一级缓存慢,多个核心都有自己私有的二级缓存…

    Linux笔记 2018-04-01
  • Linux系统上的命令使用格式与12个常用命令介绍

    Linux系统上的命令使用格式 本文默认使用Linux7,如有命令属于Linux6我会注明。 命令的语法通用格式: /]# COMMAND OPTIONS ARGUMENTS 命令示例:/]#ls -l /etc/ssh COMMAND(命令):ls 命令分为两类: 内部命令(builtin):由shell程序的自带的命令,这类命令没有对应的可执行文件。 外…

    2018-08-04
  • Linux文件管理命令,命令状态返回值及命令展开

    ls命令 功能: 列出目录下的所有文件和目录 语法格式: ls [OPTION]… [FILE]… 常用选项: -a :列出所有文件和目录 -A :列出除.和..的所有文件 -l :长选项,显示文件的详细属性信息 -rw——-. 1 root root 1.4K May 1 00:50 anaconda-ks.cfg -:文件类型 -:普通文…

    Linux笔记 2018-05-27
  • Linux学习笔记——特殊权限之 SUID GUID StickyBit

    ◆ SUID ( Set User ID ) Linux里,用户的ID被称作UID。在实际生产中,可能需要临时借用别的用户执行程序,因此需要能够临时变更自己UID的机能叫做SUID。借助SUID权限,用户可以临时调用root权限。※ 通常,文件的执行是由所属者发起,然而,赋予SUID权限后可临时继承所有者的权限(来执行文件)。通常用于二进制可执行文件上,文件…

    Linux笔记 2018-04-07
  • CentOS 6 开机流程

    CentOS 6 开机流程——linux由kernel和rootfs组成。kernel负责进程管理、内存管理、网络管理、驱动程序、文件系统、安全等;rootfs由程序和glibc组成,完善操作系统的功能。同时linux内核的特点是模块化,通过对模块装载卸载可以对内核功能自定义。linux内核镜像文件:/boot/vmlinuz-2.6.32-696.el6.…

    Linux笔记 2018-05-13
  • 描述Linux计算机的组成及其功能

    描述计算机的组成及其功能

    2018-04-16