--- title: tree — 디렉터리 구조 시각화 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 폴더 구조를 나무 모양으로 보여주는 명령어. 원인 분석과 문서화에 유용합니다. tags: 프로그램, 파일 및 디스크 관리, tree --- **💬 "tree 명령어"** tree는 디렉터리 구조를 **계층 모양으로** 보여줍니다. ls를 여러 번 치는 것보다 구조 파악이 빠릅니다. 로그가 쌓인 디렉터리나 배포 산출물 구조를 빠르게 확인할 때 씁니다. - **개념**: 지정한 경로부터 하위 디렉터리와 파일을 나무 형태로 출력합니다. - **왼쪽**: `├──`, `└──` 같은 연결선으로 계층을 나타냅니다. - **마지막 줄**: 디렉터리 수와 파일 수를 요약해 줍니다. - **깊이**: -L 옵션으로 몇 단계까지 볼지 제한할 수 있습니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | -L | 깊이를 n단계로 제한합니다 | | -d | 디렉터리만 표시합니다 | | -h | 파일 크기를 함께 사람이 읽기 쉬운 단위로 표시 | | --du | 디렉터리별 누적 용량을 표시합니다 | | -a | 숨김 파일도 표시합니다 | ## 필수 명령어 조합 3가지 - `tree -L 2 /var/www/html` — 웹 루트 구조를 2단계까지만 확인 - `tree -d -L 2 /opt/app` — 디렉터리만 보고 구조 파악 - `tree --du -h /var/log | head -30` — 로그 디렉터리별 용량 확인 **💬 "실수를 줄이려면 어떤 옵션을 같이 쓰면 좋을까?"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 구조 한눈에 보기 깊이를 제한해 전체 형태를 파악합니다. ``` tree -L 2 /var/www/html ``` ### 2단계 · 용량과 함께 보기 어느 하위 폴더가 큰지 확인합니다. ``` tree --du -h -L 2 /var/log ``` ### 3단계 · 문서로 남기기 리뷰/인수인계용으로 구조를 파일로 저장합니다. ``` tree -L 3 /opt/app > /tmp/app-structure.txt ``` ## 실무에서는 이렇게 씁니다 ### 1. 배포 구조 검증 **상황** — 릴리스 압축을 풀었는데 파일 배치가 예상과 다릅니다. ``` tree -L 2 /opt/app/releases/20261018 ``` **결과** — 최상위에 public/이 있어야 하는데 하위 폴더가 한 단계 더 들어가 있으면 압축 경로 문제입니다. **포인트** — 배포 후 tree로 한 번 보는 습관이 404/500의 원인을 빨리 찾게 합니다. ### 2. 로그 적재 위치 파악 **상황** — 디스크가 차서 어느 로그 디렉터리가 큰지 확인합니다. ``` tree --du -h -L 2 /var/log | sort -k2 -h | tail ``` **결과** — 용량이 큰 하위 디렉터리를 확인하고 회전 대상을 정합니다. **포인트** — tree의 --du는 재귀 합계라 폴더 단위 판단에 편합니다. ## 주의할 점 - 파일이 수만 개인 디렉터리에서 tree를 그냥 실행하면 출력이 폭발합니다. -L로 제한합니다. - 기본 설치가 아닌 경우가 있어 tree 명령이 없으면 패키지 설치가 필요합니다. - 출력이 길면 head/tail로 잘라서 봅니다. ## 실제 실행 화면 웹 루트의 2단계 구조를 확인한 결과입니다. ![tree 명령어 실행 결과: 디렉터리 나무 구조](https://games.cursorai.co.kr/assets/tree-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/filesystem/tree.html