Linux Command:find

Posted on Wed, 25 Dec 2024 13:57:45 +0800 by LiangMingJian


概述

find 命令用于在指定目录下查找文件和目录,它可以使用不同的选项来过滤和限制查找的结果。

find [路径] [匹配条件] [动作]

支持的参数

-name pattern # 按文件名查找,支持使用通配符 * 和 ?。
-type type # 按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
-size [+-]size[cwbkMG] # 按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
-mtime days # 按修改时间查找,支持使用 + 或 - 表示在指定天数前或后,days 是一个整数表示天数。
-user username # 按文件所有者查找。
-group groupname # 按文件所属组查找。
-amin n # 查找在 n 分钟内被访问过的文件。
-atime n # 查找在 n*24 小时内被访问过的文件。
-cmin n # 查找在 n 分钟内状态发生变化的文件(例如权限)。
-ctime n # 查找在 n*24 小时内状态发生变化的文件(例如权限)。
-mmin n # 查找在 n 分钟内被修改过的文件。
-mtime n # 查找在 n*24 小时内被修改过的文件。

按照文件名查找

find / -name httpd.conf  # 在根目录下查找文件 httpd.conf
find /etc -name httpd.conf  # 在 /etc 目录下文件 httpd.conf
find /etc -name '*srm*'  # 使用通配符 *,在 /etc 目录下查找文件名中含有字符串 srm 的文件

按照文件大小查找     

find / -empty      # 查找在系统中为空的文件或者文件夹
find / -size +1G  # 查找出大于 1G 的文件
find / -size -1000k   # 查找出小于 1000KB 的文件
find /tmp -size +10000c -and -mtime +2  # 在 /tmp 目录下查找大于 10000 字节并在最后 2 分钟内修改的文件
find / -size +1G -or -user george       # 在 / 目录下查找大于 1G 的文件或用户是 george 的文件
find /tmp ! -size +1G                  # 在 /tmp 目录中查找不大于 1G 的文件