美文网首页
Find 命令常用功能详解

Find 命令常用功能详解

作者: UNCOM | 来源:发表于2018-12-17 00:41 被阅读0次

find 命令常见用法

介绍

用来在指定目录中查找文件,如果直接用 find+文件名 表示把当前目录以及子目录找到的文件全部显示出来。

用法

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [path...] [expression]

选项

-H 表示只跟随命令行中指定的符号连接
-L 表示跟随所有的符号连接
-P 是默认的选项,表示不跟随符号连接
-D debugoptions. 打印诊断信息
-Olevel Enables query optimisation. 允许查询优化

上面这些选项并不常用,所以用法可以简化成

find  [ path... ] [ expression ]

参数

时间相关参数

参数 说明
-newer file # 找出比file文件内容新的文件,比较的是mtime
-mtime -n +n # n是数字,表示n天之前一天内的时间
-atime -n +n # +n,表示n天前不包含n天本身的时间
-ctime -n +n # -n,表示n天之内包含n天的时间
# 范例:
find / -mtime 0  # 0表示当前时间,把现在时间之前的24小时内的文件列出来
find . -ctime 3  # 表示把当前目录3天前的24小时内,权限被修改过的文件列出来
find / -mtime -3 # 表示3天内的所有时间,从现在往前数3个24小时的时间
find . -atime +3 # 表示3天以前不包含第3天,也就是现在数3+1个24小时之前的所有时间

说明:(0 表示现在的时间)

  • 单纯的数字之表示24小时的时间,比如 0 表示 24-0 之内的时间,1 表示 48-24 之内的时间
  • 有 - 符号时间,比如 -2 表示 48-0 的时间,-3 表示 72-0 的时间,
  • 有 + 符号时间,比如 +2 表示 <-72 之前的时间,两天前但不包含两天之前的所有时间

用户名和组名相关参数

参数 说明
-uid n 数字 n 表示 /etc/passwd 里面名称对应的数字id
-gid n 数字 n 表示 /etc/group 里面对应的组id
-user name name 为用户名称
-group name name 为组名
-nouser 寻找文件的 所有者在 passwd文件中不存的文件
-nogroup 寻找文件的 组在 group 文件中不存在的文件
# 范例:
find /var -user root  # 查找var目录的文件的拥有者是root的文件
find / -nouser        # 查找系统中不属于任何人的文件,也就系统中没有这个用户

说明:

  • 如果从网络下载文件会出现没有此用户或组,或者系统删除用户后这个用户遗留下来的文件

文件权限及名称相关的参数

参数 说明
-name filename 查找文件名filename的文件
-size [+-]SIZE 查找比SIZE 大+ 或者 小- 的文件
-type TYPE 查找文件类型是TYPE的文件,f b c d l s p(FIFO) 属性
-perm mode 查找文件权限正好等于这个mode的文件
-perm -mode 所查文件权限包含mode就会显示出来
-perm +mode 所查文件权限被mode包含就会显示出来
# 范例:
find / -name passwd  # 查找文件名为 passwd 的文件
find / -type s       # 查找文件类型是 socket 的文件
find . -size 10c     # c=byte k=1024bytes 
find . -size 10k     # 查找 大小等于 10k
find . -size -10k    # 查找 小于 10k
find . -size +10k    # 查找 大于 10k
find . -size 10M     # 10m=10000k 一般不用 M 或 G,容易出错
find /bin /sbin -perm +6000  # 查找两个目录下只要具有suid和sgid权限就列出来

说明:

  • -perm +660 列出不包含660以及数字小的,如 600 权限 (权限比660高的)
  • -perm 660 列出等于660权限的
  • -perm -660 列出等于660以及数字大于660权限的,如 666 权限(权限比660低的)
  • ! -perm -660 相当于 -perm +660 (取反)
  • -perm +6000 这个有 + 的权限在ubuntu下会报 非法权限的错误
  • 可以使用 find /bin /sbin ! -perm -6000 命令,!求反
  • -type
    f 普通文件
    d 目录文件
    l 链接文件
    b 块设备文件
    c 字符设备文件
    p 管道文件
    s socket文件

更多高级参数

参数 说明
-print 默认操作,将结果打印到屏幕上
-exec command 将找到的结果用command命令处理
# 范例:
find  .  -size  -4c  -exec  ls -l  {}  \;  # 查找本目录小于4byte的结果用 ls -l 命令列出来

说明:

  • -exec 和 ; 之间是执行的命令,{} 是固定格式表示把结果放进去
  • ; 需要用 \ 来转义,注意范例中的空格
  • -exec ls -l {} ; 其中 ls -l 不能简写,比如用 ll
# 更多范例:
find /etc -name '*httpd*' # 可一使用通配符,查找包含httpd的文件

结束

相关文章

  • Find 命令常用功能详解

    find 命令常见用法 介绍 用来在指定目录中查找文件,如果直接用 find+文件名 表示把当前目录以及子目录找到...

  • linux命令—find查找文件

    find 命令功能非常的强大,支持的参数很多,这里简单讲解一些平时常用的命令查找命令的基本格式为: ** find...

  • 如何解压目录下的所有zip压缩文件

    使用find xargs命令 xargs命令详解,xargs与管道的区别

  • Linux基础——常用命令(三)

    <1> find —— find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户...

  • 强大的find命令

    find 命令是linux系统常用的命令,它的功能相当强大。结合exec,xargs 等更是威力无穷。比如我们要查...

  • Linux

    linux awk命令详解、linux awk命令Linux常用操作指令Linux netstat命令详解 awk...

  • Linux find命令常用总结

    简介 find 命令的基本结构如下: find [paths] [expression] [actions] 常用...

  • docker常用命令详解

    docker常用命令详解 1. 分类 Docker命令按照功能可分为四类: 环境信息相关类info; versio...

  • Linux查找文件:find

    07.查找文件:find find 命令功能非常强大,通常用来在特定目录下搜索符合条件的文件,也可以用来搜索特定用...

  • Centos

    说明 1. 常用命令 1.1 查找命令对应的包,例如 netstat 1.2 查找命令 1. find find ...

网友评论

      本文标题:Find 命令常用功能详解

      本文链接:https://www.haomeiwen.com/subject/xcbfkqtx.html