find

按名称、内容、类型、扩展名、深度和大小写搜索文件、目录与文本。

文件版本 1.2.2稳定
lil-terminal

概览

find 组合简单过滤条件:类型、扩展名、深度、大小写、内容搜索和起始路径可以构成一个精确的文件系统查询。

逐步缩小搜索范围

搜索应从宽到窄:先确定按名称还是内容搜索,再逐步加入路径、类型、扩展名、深度和大小写条件。

语法

lil-terminal
find [query] [-f|-F|-d] [-h|-t] [-e <ext>] [-c] [-p <path>]

参考

find <query>

在当前目录递归搜索名称

find -q <query>

搜索以 - 开头的查询

-f

仅搜索文件

-F | -d

仅搜索目录

-h

仅搜索当前目录

-t

搜索文本文件内容

-e <ext>

按扩展名限制;支持 tar.gz

-php

-e php 的短写

-c

区分大小写

-p <path>

从另一个目录开始搜索

find -e txt

无需关键词,按扩展名列出所有文件

find -txt

无需关键词,按扩展名列出所有文件

理解结果

find -e txt 或 find -txt 无需搜索词即可列出所有 TXT 文件。find sample -e txt 则只找名称包含“sample”的 TXT 文件。-t 内容搜索仍必须提供文本。

安全与限制

-p 指定起始目录,-h 只搜索该目录。-f 不能与 -F/-d 同用。扫描限制保护共享主机;不会递归跟随指向目录的符号链接。

交互式 sandbox 预览

可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。

在当前目录递归搜索名称

安装与管理

安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。

Base 与 Minimum 是同一当前模块版本的两个包。

Base 包

安装包含本地参考和全部已发布模式的完整包。

install find
Minimum 包

安装精简包。该包不包含本地参考;help <cmd> -i 会打开当前服务器参考。

install find -m
精确公开版本

安装这个确切的已发布版本。

install find -v 1.2.2
检查或升级

让 upgrade 检查兼容性,仅在需要时替换已安装块。

upgrade find
删除模块

删除扩展块,不影响核心和其他模块。

install find -u

示例

示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。

在当前目录递归搜索名称
find app -p \sandbox\config
sandbox/config/app.conf
sandbox/config/app.ini
sandbox/config/app.ini.enc
sandbox/config/app.json
sandbox/config/app.properties
sandbox/config/app.toml
sandbox/config/app.xml
sandbox/config/app.yml
搜索以 - 开头的查询
find -q "-draft" -p \sandbox\tmp
No matches
仅搜索文件
find app -f -p \sandbox\config
sandbox/config/app.conf
sandbox/config/app.ini
sandbox/config/app.ini.enc
sandbox/config/app.json
sandbox/config/app.properties
sandbox/config/app.toml
sandbox/config/app.xml
sandbox/config/app.yml
仅搜索目录
find data -F -p \sandbox
sandbox/data/
仅搜索目录
find data -d -p \sandbox
sandbox/data/
仅搜索当前目录
find app -h -p \sandbox\config
sandbox/config/app.conf
sandbox/config/app.ini
sandbox/config/app.ini.enc
sandbox/config/app.json
sandbox/config/app.properties
sandbox/config/app.toml
sandbox/config/app.xml
sandbox/config/app.yml
搜索文本文件内容
find "timeout" -t -p \sandbox\logs
sandbox/logs/errors.log
按扩展名限制;支持 tar.gz
find -e txt -p \sandbox\data
sandbox/data/sample.txt
-e php 的短写
find Calculator -php -p \sandbox\src
sandbox/src/Calculator.php
区分大小写
find SAMPLE -c -p \sandbox\data
No matches
从另一个目录开始搜索
find app -p \sandbox\config -f
sandbox/config/app.conf
sandbox/config/app.ini
sandbox/config/app.ini.enc
sandbox/config/app.json
sandbox/config/app.properties
sandbox/config/app.toml
sandbox/config/app.xml
sandbox/config/app.yml
无需关键词,按扩展名列出所有文件
find -e txt -p \sandbox\tmp
sandbox/tmp/README.txt
sandbox/tmp/current.txt
sandbox/tmp/draft.txt
sandbox/tmp/new.txt
无需关键词,按扩展名列出所有文件
find -txt -p \sandbox\data
sandbox/data/sample.txt
Find · sample
find sample -e txt -p \sandbox\data
sandbox/data/sample.txt
按扩展名限制;支持 tar.gz
find -e tar.gz -p \sandbox\my
No matches
仅搜索文件
find app -f -F -p \sandbox\config
请选择文件或目录,不能同时选择
从另一个目录开始搜索
find foo -p \sandbox\does-not-exist
未找到搜索目录

本示例使用的文件: sandbox/src/Calculator.php

该示例使用受保护的 /sandbox/ 文档工作区中的文件或目录。

<?php

declare(strict_types=1);

final class Calculator
{
    public static function add(int $left, int $right): int
    {
        return $left + $right;
    }
}

相关文档

当前公开版本

v1.2.22026-10-31

Extension-only search

find -e txt and find -txt list matching extensions without requiring a separate name query.