linux 搜索文件夹的命令
在 Linux 系统中,搜索文件夹(目录)的常用命令是 find
和 locate
,以下是具体用法及示例:
1. 使用 find
命令(精准搜索)
find
是功能最强大的搜索工具,支持按名称、类型、时间、大小等条件搜索。
基础语法
find [搜索路径] [选项] [动作]
常见场景
-
按名称搜索文件夹:
# 搜索当前目录下名为 "target_dir" 的文件夹 find . -type d -name "target_dir" # 搜索系统中所有名为 "nginx" 的文件夹(需 root 权限) sudo find / -type d -name "nginx" 2>/dev/null
-
-type d
:仅搜索目录(-type f
是搜索文件)。 -
2>/dev/null
:忽略权限不足的报错。
-
-
按名称模糊搜索:
# 搜索名称包含 "log" 的文件夹(不区分大小写) find /var -type d -iname "*log*"
-
-iname
:忽略大小写。
-
-
按时间搜索:
# 搜索 7 天内修改过的文件夹 find ~ -type d -mtime -7 # 搜索 24 小时内访问过的文件夹 find /tmp -type d -atime -1
-
-mtime
:修改时间(天)。 -
-atime
:访问时间(天)。 -
-1
:1 天以内,+7
:7 天以前。
-
-
按大小搜索:
# 搜索空文件夹 find . -type d -empty
-
组合条件搜索:
# 搜索名称是 "config" 且权限为 755 的文件夹 find /etc -type d -name "config" -perm 755
2. 使用 locate
命令(快速搜索)
locate
基于数据库索引,搜索速度极快,但需要先更新数据库。
基础语法
locate [选项] 文件夹名
常用操作
-
更新数据库(需 root 权限):
sudo updatedb
-
按名称搜索:
# 搜索名称包含 "nginx" 的文件夹 locate -b '\nginx'
郭慕荣博客园