Linux下的find命令详解

Linux下的find命令详解

在linux下有两种查找符合条件文件的命令,是locate和find。我们来说说find这个命令。

find:

  • 实时查找工具,遍历查找指定路径下的所有的文件来找到符合条件的文件。
  • 特点:查找文件比locate速度略慢,查找文件很精确,并且是实时进行查找的。
  • 使用方法:find [OPTIONS] [查找起始路径] [查找条件] [处理动作]
  • 查找时的起始路径:默认是当前目录,或者是指定具体要搜索目标的起始路径。
  • 查找条件:可以根据文件名、文件大小、文件类型、从属关系、权限等标准来进行查找。默认为查找指定路径下的所有文件。
  • 处理动作:对找到符合条件的文件做之后的处理操作,比如删除、修改等,默认是输出到标准输出。

按照文件名来查找:

  • -name “pattern” — 按照字符串来查找
  • -iname “pattern” — 不区分文件名的大小写来查找,支持glob风格的通配符(* ? [ ] [^})
  • -regex pattern — 按照正则表达式模式来查找,查找的是整个文件路径,而不是文件名。

按照文件从属关系查找:

  • -user USERNAME:查找属主指定用户的所有文件;
  • -group GRPNAME:查找属组指定组的所有文件;
  • -uid UID:查找属主指定的UID的所有文件;
  • -gid GID:查找属组指定的GID的所有文件;
  • -nouser:查找没有属主的文件;
  • -nogroup:查找没有属组的文件;

按照文件类型查找:-type TYPE

  • f: 普通文件
  • d: 目录文件
  • l:符号链接文件
  • b:块设备 文件
  • p:管道文件
  • s:套接字文件

组合语句时用的逻辑选项:

  • 与:-a, 默认为这个组合逻辑;
  • 或:-o
  • 非:-not, !

按照文件大小查找:

  • 格式:-size [+|-]#UNIT
  • 常用单位:k, M, G
  • #UNIT:(#-1,#]
  • -#UNIT:[0,#-1]
  • +#:(oo,#-1]

按照时间戳查找:

以“天”为单位:

  • -atime
  • -mtime
  • -ctime

以“分钟”为单位:

  • -amin
  • -mmin
  • -cmin

按照权限查找:

  • 格式:-perm [/|-]mode
  • mode:精确权限匹配;
  • /mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;9位权限之间存在“或”关系;
  • -mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足;9位权限之间存在“与”关系;

一些处理动作:

  • -print:输出至标准输出;默认的动作;
  • -ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
  • -delete:删除查找到的文件;
  • -fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;
  • -ok COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
  • -exec COMMAND {} \; :对查找到的每个文件执行由COMMAND表示的命令;

注意:find传递查找到的文件路径到后面的命令时,是查找出所有符合的文件路径并一次给后面;
有些命令不能接受过长的参数,用另外一种方式避免此问题: find | xargs COMMAND

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

(1)
华龙华龙
上一篇 2018-03-20 12:07
下一篇 2018-03-20 17:23

相关推荐

  • ☞Ansible

    Ansible ansible简介 安装ansible 使用ansible前提条件 主要文件 配置文件 Host Inventory ansible.cfg 命令使用 ansible ansible-doc ansible-playbook 常用模块 ansible各模块简单示例 ansible playbooks playbook内容组成 host、use…

    Linux干货 2016-11-06
  • 封装和结构及set

    封装|set

    Linux干货 2017-10-09
  • 关于文件查找和解压缩

                     文件查找和解压缩在文件系统上查找符合条件的文件,文件查找的工具有两个,locate 和find文件查找分为:          &nbs…

    系统运维 2016-08-18
  • 第一天,学习

    好好学习,天天向上

    Linux干货 2016-08-08
  • iptables-防火,防盗,防老王

        防火墙,其实说白了将,就是用于实现linux下访问控制的功能的,它分为两种方式,硬件防火墙和软件防火墙。不过无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义防火墙如何工作的,这就是防火墙的策略,规则,以达到让它对出入网络的IP,数据进行检测。     目前市…

    Linux干货 2017-05-02
  • Linux的终端类型

            Linux的终端类型         Linux终端的定义         Linux终端的分类 &nb…

    Linux干货 2016-10-18