Linux에서 디렉토리 구조를 찾는 방법

Linux에서 디렉토리 구조를 찾는 방법

RHEL v6.x현재 디렉터리 내의 특정 디렉터리 구조를 검색 하는 Linux 명령을 찾고 있습니다 .

아래 명령은 현재 디렉터리 내의 특정 단일 디렉터리를 검색한다는 것을 이해하지만 이는 단일 디렉터리에서는 작동하지만 디렉터리 구조에서는 작동하지 않습니다.

피복재:

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.

관련 정보