用 -type d 限定 find 命令只匹配目录,结合 -name、-path、-empty、-mtime、-perm 等选项可精准定位指定名称、路径、状态或权限的目录,避免文件干扰。

要按文件类型查找目录,核心是用 -type d 限定结果仅为目录,再配合其他条件(如名称、路径等)精准定位。
-type d 是关键,它告诉 find 只匹配目录,不返回文件、链接或设备节点。
查找指定名称的目录
最常见需求:知道目录名,但不确定位置。
find / -type d -name "logs"
这会在整个系统中搜索名为 logs 的目录。
若只想在 /var 下查:
find /var -type d -name "cache"
注意:
-
-name区分大小写;如需忽略大小写,用-iname:find /etc -type d -iname "conf*"
排除干扰,提高准确性
有时同名文件和目录共存,仅靠 -name 可能误命中文件。加上 -type d 就能彻底排除文件干扰。
比如查找名为 config 的目录,但当前目录下也有 config 文件:
find . -name "config" # 可能返回文件和目录 find . -type d -name "config" # 只返回目录
结合路径模式进一步筛选
用 -path 可按完整路径匹配,适合定位特定层级结构:
find /usr -type d -path "*/share/doc/*"
查找所有位于 share/doc 子路径下的目录。
也可用 -prune 跳过不想搜索的分支,提升效率:
find /home -path "/home/*/tmp" -prune -o -type d -name "project" -print
跳过所有用户 tmp 目录,只在其余位置搜 project 目录。
按权限或时间等附加条件过滤目录
目录也是文件,支持几乎所有测试选项:
# 查找空目录(不含子目录和文件) find /tmp -type d -empty # 查找最近7天内被修改过的目录(修改时间指内容增删,即 mtime) find /var -type d -mtime -7 # 查找权限为 755 的目录 find /opt -type d -perm 755
注意:-perm 755 严格匹配;若想匹配“至少包含这些权限”,写成 -perm -755(减号表示“所有位都满足”)。
不复杂但容易忽略











