linux 搜索文件夹的命令

在 Linux 系统中,搜索文件夹(目录)的常用命令是 find 和 locate,以下是具体用法及示例:


1. 使用 find 命令(精准搜索)

find 是功能最强大的搜索工具,支持按名称、类型、时间、大小等条件搜索。

基础语法

find [搜索路径] [选项] [动作]

常见场景

  1. 按名称搜索文件夹

    # 搜索当前目录下名为 "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:忽略权限不足的报错。

  2. 按名称模糊搜索

    # 搜索名称包含 "log" 的文件夹(不区分大小写)
    find /var -type d -iname "*log*"
    • -iname:忽略大小写。

  3. 按时间搜索

    # 搜索 7 天内修改过的文件夹
    find ~ -type d -mtime -7
    
    # 搜索 24 小时内访问过的文件夹
    find /tmp -type d -atime -1
    • -mtime:修改时间(天)。

    • -atime:访问时间(天)。

    • -1:1 天以内,+7:7 天以前。

  4. 按大小搜索

    # 搜索空文件夹
    find . -type d -empty
  5. 组合条件搜索

    # 搜索名称是 "config" 且权限为 755 的文件夹
    find /etc -type d -name "config" -perm 755

2. 使用 locate 命令(快速搜索)

locate 基于数据库索引,搜索速度极快,但需要先更新数据库。

基础语法

locate [选项] 文件夹名

常用操作

  1. 更新数据库(需 root 权限):

    sudo updatedb
  2. 按名称搜索

    # 搜索名称包含 "nginx" 的文件夹
    locate -b '\nginx'
posted @ 2025-03-02 15:45  郭慕荣  阅读(1506)  评论(0)    收藏  举报