如何在Linux中查找目录结构

如何在Linux中查找目录结构

我正在寻找一个 Linux 命令来RHEL v6.x搜索当前目录中的特定目录结构。

虽然我知道下面的命令将搜索当前目录中的特定单个目录,该目录适用于单个目录,但不适用于目录结构。

在职的:

find /home/dir1/* -name "def"


不工作:

find /home/dir1/* -name "abc/def"

我也尝试了下面的命令,但它也列出了该目录中的文件,但我不想列出该目录中的文件。我只想列出具有此abc/def目录结构的所有目录的完整路径。

locate abc/def/

谁能帮帮我吗。

提前致谢。

答案1

测试-name仅匹配最后一个路径组件。要匹配像abc/def你这样的东西将需要-path

$ mkdir -p somedir/otherdir/abc/def/ghi
$ find somedir -path '*/abc/def'
somedir/otherdir/abc/def

答案2

这个怎么样。

find /home/dir1/ -type d | grep 'abc/def'

或者您只想列出达到一定深度的目录。

find /home/dir1/ -maxdepth 2 -type d | grep 'abc/def'

-d - directory

-maxdepth levels of directories below the starting-points.

答案3

tree <base dir>
       -L level
             Max display depth of the directory tree.
       -P pattern
              List  only those files that match the wild-card pattern.

相关内容