我正在寻找一个 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.