Linux 在子文件夹中查找文件夹

Linux 在子文件夹中查找文件夹

我正在尝试查找480debugerror嵌套在子目录下的名为 的目录。我不知道确切的路径,甚至不知道要查找的目录的确切拼写。

是否有一个 Linux 命令可以查找具有给定前缀或后缀的目录,例如名为“debug”或“debug error”的目录,其中包含一些未知的前缀或后缀?

答案1

find就是你所需要的:

$ find -type d -name '*debugerror*'

或者

$ find -type d -name '480debugerror'

如果您确定文件夹名称。

答案2

find . -type d \( -iname '*error*' -o -iname '*debug*' \) 

答案3

在 Bash 中,

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

递归搜索名称包含 480、debug 或 error 的目录。

答案4

locate -i "480debugerror"

将检查列出您 PC 上所有已编入索引的文件的数据库。我经常遇到这样的情况,因此我会进行如下搜索:

locate -i "debug" | grep -i "log"

查找路径中包含“debug”和“log”的所有文件(无论大小写 [这就是 -i 的意思])(如果您不知道,则表示| grep在locate生成的结果中进行搜索)

与 find 相比,使用locate 的优点是locate 会更快地产生输出(因为它只检查数据库),但如果文件/文件夹未被索引,那么它将找不到任何东西。(要更新数据库,您可以使用sudo updatedb

相关内容