我正在尝试查找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
)