首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么`find`实际上找不到所有匹配模式的目录?

find命令是在Linux和Unix系统中用于查找文件和目录的工具。它可以根据指定的条件搜索文件,并返回匹配的结果。

然而,find命令在查找目录时可能无法找到所有匹配模式的目录,原因如下:

  1. 权限限制:find命令在搜索文件和目录时受到权限限制。如果当前用户没有足够的权限访问某个目录,find命令将无法搜索该目录及其子目录。
  2. 搜索深度限制:find命令默认情况下会递归搜索指定目录下的所有子目录。然而,有时候可能会设置搜索的最大深度,这样find命令将停止在达到指定深度后继续搜索。
  3. 忽略特定目录:find命令可以通过使用-prune选项来忽略特定的目录。如果某个目录被设置为被忽略,find命令将不会搜索该目录及其子目录。
  4. 匹配模式错误:find命令使用通配符来匹配文件和目录。如果匹配模式错误或不准确,find命令将无法找到匹配的目录。

为了解决这些问题,可以采取以下措施:

  1. 确保具有足够的权限:使用sudo命令以超级用户身份运行find命令,或者确保当前用户对目标目录及其子目录具有适当的读取权限。
  2. 指定搜索深度:使用-maxdepth选项来限制find命令的搜索深度。例如,find /path/to/directory -maxdepth 2将只搜索指定目录下的直接子目录和文件。
  3. 排除特定目录:使用-path选项来排除特定的目录。例如,find /path/to/directory -path "/path/to/directory/exclude" -prune -o -name "pattern"将排除名为"exclude"的目录。
  4. 检查匹配模式:确保使用正确的通配符和模式来匹配目录。常用的通配符包括*(匹配任意字符)和?(匹配单个字符)。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):腾讯云对象存储(Cloud Object Storage,COS)是一种高可用、高可靠、安全、低成本的云存储服务,适用于存储和处理各种类型的非结构化数据。了解更多信息,请访问:腾讯云对象存储(COS)
  • 腾讯云云服务器(CVM):腾讯云云服务器(Cloud Virtual Machine,CVM)是一种弹性计算服务,提供可调整的计算能力,适用于各种应用场景。了解更多信息,请访问:腾讯云云服务器(CVM)
  • 腾讯云容器服务(TKE):腾讯云容器服务(Tencent Kubernetes Engine,TKE)是一种高度可扩展的容器管理服务,用于简化容器的部署、管理和扩展。了解更多信息,请访问:腾讯云容器服务(TKE)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux每日命令(22):find命令参数详解

一. name选项 文件名选项是find命令最常用选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式匹配文件,记住要用引号将文件名模式引起来。...所以这个'-'作用归结起来就是匹配比mode权限更充足文件(找不到什么词语来形容了) find -perm +mode , 与 -mode区别是+mode只需其中任意一个1部分被匹配,-mode.../aaa 而且*通配符会将路径中字符"/"也作为普通字符进行贪婪匹配,所以可以匹配目录以下文件,所以在使用这个选项时候不要误以为这个只对目录有效,实际上只是一种路径字符匹配工具。...但实际上这条命令是将当前目录以及包含./aaa子目录所有文件都打印出来。实际上 ,这个语句先执行-o左侧语句,find -name "*.txt" -path "..../aaa项目剩余文件继续去匹配-name模式匹配结果 最后被-print打印出来,这也就是我们所期待忽略某个指定目录进行搜索结果。

1.4K20

Linux之find命令参数详解

find 常见注意事项 使用name选项 文件名选项是find命令最常用选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式匹配文件,记住要用引号将文件名模式引起来。...所以这个'-'作用归结起来就是匹配比mode权限更充足文件(找不到什么词语来形容了) 忽略某个目录 如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找文件,那么可以使用-prune...-newer a.log type选项 在/etc目录下查找所有目录 > find /etc -type d 在/etc目录下查找所有的符号链接文件 > find /etc -type l size参数...在当前目录下查找文件长度大于100M字节文件 > find . -size +100M 使用depth选项 在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。...使用depth选项就可以使find命令这样做。这样做一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录文件。

86800
  • Linux之find命令参数详解

    find 常见注意事项 使用name选项 文件名选项是find命令最常用选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式匹配文件,记住要用引号将文件名模式引起来。...所以这个'-'作用归结起来就是匹配比mode权限更充足文件(找不到什么词语来形容了) 忽略某个目录 如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找文件,那么可以使用-prune...-newer a.log type选项 在/etc目录下查找所有目录 > find /etc -type d 在/etc目录下查找所有的符号链接文件 > find /etc -type l size参数...在当前目录下查找文件长度大于100M字节文件 > find . -size +100M 使用depth选项 在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。...使用depth选项就可以使find命令这样做。这样做一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录文件。

    2K00

    Linux之find命令参数详解

    ind 常见注意事项 使用name选项 文件名选项是find命令最常用选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式匹配文件,记住要用引号将文件名模式引起来。...所以这个’-‘作用归结起来就是匹配比mode权限更充足文件(找不到什么词语来形容了) 忽略某个目录 如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找文件,那么可以使用-prune...-newer a.log type选项 在/etc目录下查找所有目录 > find /etc -type d 在/etc目录下查找所有的符号链接文件 > find /etc -type l size参数...在当前目录下查找文件长度大于100M字节文件 > find . -size +100M 使用depth选项 在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。...使用depth选项就可以使find命令这样做。这样做一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录文件。

    67900

    Linux之find命令参数详解

    find 常见注意事项 使用name选项 文件名选项是find命令最常用选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式匹配文件,记住要用引号将文件名模式引起来。...所以这个'-'作用归结起来就是匹配比mode权限更充足文件(找不到什么词语来形容了) 忽略某个目录 如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找文件,那么可以使用-prune...-newer a.log type选项 在/etc目录下查找所有目录 > find /etc -type d 在/etc目录下查找所有的符号链接文件 > find /etc -type l size参数...在当前目录下查找文件长度大于100M字节文件 > find . -size +100M 使用depth选项 在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。...使用depth选项就可以使find命令这样做。这样做一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录文件。

    1K30

    Linux之find命令参数详解

    find 常见注意事项 使用name选项 文件名选项是find命令最常用选项,要么单独使用该选项,要么和其他选项一起使用。 可以使用某种文件名模式匹配文件,记住要用引号将文件名模式引起来。...所以这个'-'作用归结起来就是匹配比mode权限更充足文件(找不到什么词语来形容了) 忽略某个目录 如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找文件,那么可以使用-prune...-newer a.log type选项 在/etc目录下查找所有目录 > find /etc -type d 在/etc目录下查找所有的符号链接文件 > find /etc -type l size...在当前目录下查找文件长度大于100M字节文件 > find . -size +100M 使用depth选项 在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。...使用depth选项就可以使find命令这样做。这样做一个原因就是,当在使用find命令向磁带上备份文件系统时,希望首先备份所有的文件,其次再备份子目录文件。

    97720

    Linux中文件查找技巧

    当你已经安装了一个命令,但是使用时却提示找不到该命令,可以查看该环境变量,是否有你安装命令路径。 所以是不是明白了为什么有些命令或程序需要添加环境变量才能直接使用了吧?...常见选项如下: -e 仅查找存在文件 -q 安静模式,不会显示任何错误讯息 -n 至多显示 n个输出 -r 使用正规运算式 -i 查找忽略大小写 -c 打印匹配结果数量 假设当前目录早已存在以下文件...locate查找存在一个问题是,如果最近有文件被删除,它仍然能找出来,最近有文件增加,它却找不到。也就是说,它查找并不具备实时性。.../sort.txt find -size +1M #查找当前目录下大于1M文件 ...../ -user root #查找当前目录下root用户文件 find ./ -nouser #查找当前目录下root用户被删除文件 -group,-nogroup类似的用法,只不过条件是用户组

    5.6K10

    Liunx之find常用命令汇总

    rumenz.txt 使用名称查找目录 > find / -type d -name rumenz 查找当前目录所有的php文件 > find -type f -name "*.php" 查找777...可以使用某种文件名模式匹配文件,记住要用引号将文件名模式引起来。...所以这个’-'作用归结起来就是匹配比mode权限更充足文件(找不到什么词语来形容了) 忽略某个目录 如果在查找文件时希望忽略某个目录,因为你知道那个目录中没有你所要查找文件,那么可以使用-prune...-newer a.log type选项 在/etc目录下查找所有目录 > find /etc -type d 在/etc目录下查找所有的符号链接文件 > find /etc -type l size参数...在当前目录下查找文件长度大于100M字节文件 > find . -size +100M 使用depth选项 在使用find命令时,可能希望先匹配所有的文件,再在子目录中查找。

    13910

    linux 命令行 查找文件_grep命令查找文件

    缺点:慢,原因就是会遍历磁盘内所有的文件名,所以在实际工作中,避免大范围内搜索,很耗资源 find 是在系统中搜索符合条件文件名,是完全匹配,一模一样名字,如果搜索过程中,需要匹配范围变大,使用通配符...[] 通配符 * ,将目录名字包含搜索条件全部都列出来 [root@localhostTEST ~]# find / -name “pack*” 通配符 ?...,表示将以搜索条件开头目录都找出来 [root@localhostTEST ~]# find / -name “B?”...,按照文件名查找,消耗资源小,比find -name 快很多,但是新创建文件找不到,并且 tmp 临时目录文件也找不到,原因,是locate 查找是 Linux数据库 /var/lib/mlocate.db...,但是数据库每天自动更新一次,所有刚创建 文件找不到

    6.3K40

    locate(1) command

    2.locate 与 find 命令区别? 在 Linux 系统中,locate 和 find 命令都可以用于查找文件或目录,但它们工作方式和使用场景略有不同。...但是,因为数据库更新存在延迟,则可能会找不到最新文件。 find 命令是在文件系统上进行实际搜索。...总的来说,如果需要快速地查找文件或目录,可以使用 locate 命令,而如果需要更灵活搜索条件,可以使用 find 命令。...PATTERN... 4.选项说明 -A, --all 只显示匹配所有模式条目 -b, --basename 只匹配文件基本名。...该选项可出现多次 --regex 将所有模式解释为扩展正则表达式 -V, --version 输出 locate 版本和许可信息并退出 -w, --wholename 仅将整个路径名与指定模式匹配

    4100

    Linux中查找文件方法

    上面说了locate是在一个库里查找文件,因此对于一些有新变动文件,而你库还没更新时,这些文件你是用locate找不到,这时find就派上用场了,它可是从硬盘里一个一个进行查找,正因为这样它速度也会相当慢...为什么说它功能强大呢? 因为它有很多参数: pathname: #find命令所查找目录路径。例如用.来表示当前目录,用/来表示系统根目录。...-print: #find命令将匹配文件输出到标准输出。 -exec: #find命令对匹配文件执行该参数所给出shell命令。...-ok: #和-exec作用相同,只不过以一种更为安全模式来执行该参数所给出shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。...-cpio #对匹配文件使用cpio命令,将他们备份到磁带设备中 -prune #忽略某个目录 例子

    6.6K10

    Linux中Grep命令使用实例

    在本教程中,您将学习如何在Linux中使用非常重要grep命令。我们将讨论为什么此命令至关重要,以及如何在命令行中将其用于日常任务中。让我们深入了解一些解释和示例。 目录 为什么我们使用grep?...我们为什么要使用grep?...因此,如果grep没有返回任何内容,则意味着它找不到您正在搜索单词。 ? 查找字符串 如果您需要搜索文本字符串而不是单个单词,则需要将字符串用引号引起来。...递归搜索 可以将-r开关与grep一起使用,以递归方式搜索目录及其子目录所有文件,以查找指定模式。...在下面的屏幕截图中,grep找到了两个与我们模式匹配文件,并返回了它们文件名和它们所在目录。 ?

    62.5K55

    【ClickHouse为什么这么快?】Hyperscan 超扫描算法:用于现代CPU“快速-多模式”正则表达式匹配

    Hyperscan 超扫描算法:用于现代CPU“快速-多模式”正则表达式匹配器 Hyperscan: A Fast Multi-pattern Regex Matcher for Modern CPUs...尽管一直在努力,商品服务器上正则表达式匹配性能仍然不适合直接服务于当今大网络带宽。相反,高性能DPI实际最佳实践,通常采用多字符串模式匹配作为昂贵正则表达式匹配先决条件。...例如,像Snort和Suricata这样流行IDSes,为每个正则表达式指定一个用于预过滤字符串模式,并且,只有在输入流中找到字符串时,才启动相应正则表达式匹配。...超扫描,一个高性能正则表达式匹配系统,利用正则表达式分解作为第一原则。正则表达式分解将正则表达式模式拆分为一系列不相交字符串和FA组件。...第三,FA组件匹配,仅在匹配所有相关字符串和FA组件时执行。这消除了不必要FA组件匹配,从而允许高效CPU利用率。

    1.2K20

    Shell四剑客实操案例

    四剑客之Find工具实战,Find工具主要用于操作系统文件、目录查找,其语法参数格式为: find path -option [ -print ] [ -exec -ok command ] { }...“*.txt” #查找/data/目录以.txt结尾文件;find /data/ -name “[A-Z]*” #查找/data/目录以大写字母开头文件;find /data/ -name “test...*” #查找/data/目录以test开头文件; Find工具-type参数案列: find /data/ -type d #查找/data/目录文件夹;find /data/ !...-type d #查找/data/目录非文件夹;find /data/ -type l #查找/data/目录链接文件。...AWK基本原理是逐行处理文件中数据,查找与命令行中所给定内容相匹配模式,如果发现匹配内容,则进行下一个编程步骤,如果找不到匹配内容,则 继续处理下一行。

    2.1K21

    2018最新win10 安装tensorflow1.4(GPUCPU)+cuda8.0+cudnn8.0-v6 + keras 安装CUDA莫名失败 导入tensorflow失败报错问题解决

    正常模式重启,重新安装即可。 这里可能会出现文件NVIDIA Corporation被占用情况,进入安全模式删除即可。 6....或者导入tensorflow报错: ImportError: DLL load failed: 找不到指定模块。...亦或者导入tensorflow报错: 1、libcudnn.so.x 找不到情况:没有装 cuDNN 2、libcublas.so.x 找不到情况:版本不匹配, CUDA与 cuDNN 或者tensorflow...版本不匹配,等等 以上所有报错我都经历过,并且别人教程都说是CUDA和CUDNN版本不匹配,或者VS2015/2017没有安装 ,的确是这样,结果我都试了好多个版本都没有解决。...具体情况具体查自己电脑配置匹配版本  本电脑是1050TI,CPU是志强I5 7.

    2.3K20

    如何使用find和locate 命令在Linux 中查找文件和目录

    Linux 中查找文件和目录 按名称查找文件 按部分名称查找文件 限制搜索结果 显示匹配条目的数量 总结 find命令是 Linux 中最重要和最常用命令之一。...options:控制find 进程行为和优化方法。 expression:此属性由选项、搜索模式和操作符分隔操作组成。...find /etc -type f -mmin -1 可以组合表达式,以下是如何在 Linux 中查找不到 60 分钟前和超过 30 分钟前更改过文件: find /etc -type f -mmin...find /home -type f -perm -644 此示例显示/home目录中至少具有 644 权限所有资源,这意味着,与权限文件,例如777,745,666,655,654,等,将匹配,...例如,如果您只需要查询 20 个结果,则可以键入以下命令: locate -n 20 '*.ppt' 显示匹配条目的数量 要使用 locate 命令计算文件名或搜索模式出现次数,请调用-c 选项。

    5.8K10

    Linux下文件搜索、查找、查看命令

    表示等于 1 数据块 == 512 字节 0.5KB,也就是1KB等于2数据块 100MB == 102400KB204800数据块 三、根据 所有者和所属组 搜索 ①、在home目录下查询所属组为...root 文件     find /home -group root ②、在home目录下查询所有者为 root 文件     find /home -user root 四、根据 时间属性...所以locate命令执行要比find命令执行速度快很多。但是这里有个问题,文件资料库是需要不断更新。我们新创建文件如果不更新 文件资料库,使用 locate 是查找不到。...:whereis** 功能描述:搜索命令所在目录及帮助文档路径  语法:whereis【命令】  eg:whereis ls 5、在文件中搜寻字符串匹配行并输出:grep 功能描述...文件中包含 mysql 字符串行,并输出     grep mysql /root/install.log 本搜索工具,根据用户指定模式,对目标文件逐行进行匹配检查,打印匹配行 grep

    2.9K30

    如何使用find和locate 命令在Linux 中查找文件和目录

    options:控制find 进程行为和优化方法。 expression:此属性由选项、搜索模式和操作符分隔操作组成。...find /etc -type f -mmin -1 可以组合表达式,以下是如何在 Linux 中查找不到 60 分钟前和超过 30 分钟前更改过文件: find /etc -type f -mmin...find /home -type f -perm -644 此示例显示/home目录中至少具有 644 权限所有资源,这意味着,与权限文件,例如777,745,666,655,654,等,将匹配,同时与权限文件...该locate命令比find命令更快,find因为它使用先前构建数据库,而该locate命令实时搜索所有实际目录和文件。...例如,如果您只需要查询 20 个结果,则可以键入以下命令: locate -n 20 '*.ppt' 显示匹配条目的数量 要使用 locate 命令计算文件名或搜索模式出现次数,请调用-c 选项。

    6.9K00
    领券