bash script2021. 9. 24. 16:56

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/524868

 

find 명령에서 -maxdepth 옵션과 -mindepth 옵션을 사용하면 검색하는 디렉토리의 범위(깊이)를 조정할 수 있다. 깊이 0이면 시작하는 디렉토리 자체이다. 깊이 1이면 시작하는 디렉토리 내부의 파일/디렉토리를, 깊이 2이면 그 아래에 있는 하위 디렉토리 내부의 파일/디렉토리를 의미한다. 말로 설명하면 좀 복잡한데, 아래의 예시들을 보면 어느 정도 감이 잡힐 것이다.

# /tmp 디렉토리 및 하위의 파일/디렉토리 모두 출력

find /tmp

/tmp

/tmp/my_file.txt

/tmp/my_dir1/my_file1.txt

...

 

# /tmp 디렉토리만 출력

find /tmp -maxdepth 0

/tmp

 

# /tmp 디렉토리안에 있는 파일/디렉토리 출력, 하위 디렉토리는 제외(-maxdepth 1)

find /tmp -maxdepth 1

/tmp/my_file.txt

/tmp/my_dir1

...

 

# /tmp 디렉토리 안에 있는 파일(-type f)만 출력, 하위 디렉토리 제외

find /tmp -maxdepth 1 -type f

/tmp/my_file.txt

...

 

# 홈디렉토리를 제외하고 그 하위디렉토리부터(-mindepth 2) 검색

find ~/ -mindepth 2

/tmp/my_dir1/my_file1.txt

...

 

위의 예시에서 보듯이, 시작 디렉토리가 깊이 0, 그 아래의 파일/디렉토리가 깊이 1, 그 아래의 파일/디렉토리가 깊이 2 이런식으로 생각하면 된다.

 

디렉토리 구조가 복잡할 경우에 특정 범위의 항목에서만 파일이나 디렉토리를 검색할 수 있어서 매우 편리하다.

 

728x90
Posted by 반달가면