Como encontrar a estrutura de diretórios no Linux

Como encontrar a estrutura de diretórios no Linux

Estou procurando um comando do Linux para RHEL v6.xpesquisar uma estrutura de diretório específica no diretório atual.

Embora eu conheça o comando abaixo, que pesquisará um único diretório específico no diretório atual que está funcionando para um único diretório, mas não para a estrutura de diretórios.

Trabalhando:

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


Não está funcionando:

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

Eu também tentei o comando abaixo, mas ele também está listando os arquivos dentro deste diretório. Mas não quero listar o arquivo dentro deste diretório. Quero apenas listar o caminho completo de todos os diretórios que possuem essa abc/defestrutura de diretórios.

locate abc/def/

Alguém pode me ajudar por favor.

Desde já, obrigado.

Responder1

O -nameteste corresponde apenas ao último componente do caminho. Para combinar algo como abc/defvocê precisará -pathde:

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

Responder2

Que tal agora.

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

ou se você deseja listar diretórios até uma certa profundidade.

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

-d - directory

-maxdepth levels of directories below the starting-points.

Responder3

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

informação relacionada