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
下一篇 2018-03-20

相关推荐

  • N25第二周作业 文件管理类命令cp mv rm以及 bash特性之文件名通配

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。         文件管理类命令主要有cp, mv, rm          cp用于单个文件的复制,例如:  &nb…

    Linux干货 2016-12-13
  • 马哥教育网络班22期+第一周课程练习

    一、计算机的基本组成和功能   cpu包括运算器、控制器、寄存器、缓存       运算器:计算功能,对数据进行加工处理的的部件;       控制器:负责从存储器取出指令,控制cpu计算器之间的运行结果和状态;       寄存器:暂存指令和数据的地方,存储…

    Linux干货 2016-08-15
  • samba的部署及应用

    samba: 启动服务:nmb.server;smb.server 会通过文件系统的方式输出给客户端 smb:Service Message Block;服务信息块 cifs:Common Internet File System,通用互联网文件系统 samba:Andrew Tridgell;热情奔放的桑巴…

    Linux干货 2016-10-19
  • 第十周

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 1.POST 开机加电自检,对计算机的cpu,硬盘,内存等进行检测。 2.BIOS 对引导程序进行探测,并把控制权交给引导程序。 3.MBR Master bootloader record主引导程序.通常位于硬盘第一扇区/dev/hda(0,0)或/dev/sda(0,0). 此阶…

    Linux干货 2017-03-30
  • lvs

    #!/bin/bash # vip=10.1.0.5 mask='255.255.255.255' case $1 in start) echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore e…

    Linux干货 2016-10-27
  • 马哥教育第20期一班第一周作业

    一、利用echo将下图弄成闪烁;字体自带颜色且有下滑线? [root@centos7 ~]# echo -e "\033[31m\033[4m\033[5m\0052\0052\0052\0052\0052\0052\0052\n \0052\0052\0052\0052\0052\n &…

    Linux干货 2016-07-29