【笔记】Find学习笔记

前言

find是一个用于在文件系统中寻找文件的Unix命令行工具。它的用法包括文件名模式匹配,时间戳匹配。默认的find仅仅搜索当前目录下的文件。相比locate命令而言,find更加适合在小范围内搜索,而locate适用于搜索整个文件系统。(维基百科

根据文件名查找文件

  • 在指定目录及其子目录下查找对应文件名的文件

<dir>:指定目录
-name <file_name>:文件名
-user <user_name>:所属主
-group <group_name>:所属组
-type f:文件类型

f:普通文件
d:目录
l:软链接
b:块设备
c:字符设备

1
find <dir> -name <file_name>

模糊匹配

1
find <dir> -name "*<file_name>*"

根据文件内容查找文件

1
find <dir> -exec grep -H '<keyword>' {} \;

根据权限查找文件

  • 根据SUID查找
1
find <dir> -perm 4000 -type f
  • 根据SGID查找
1
find <dir> -perm 2000 -type f

执行命令

  • 文件查找成功时会执行命令
1
find <dir> -exec <shell> \;

完成

参考文献

CSDN——无聊的HZ
CSDN——致守