# [ZSH] tree 사용하기

# 들어가며

큰 규모의 프로젝트를 출시한 뒤, 후일을 위해서 더 늦기 전에 파일 정리 및 문서화를 진행해야했다.

문서화 작업을 하는 중에 기왕 정리하는 거 파일 구조를 이쁘게 트리 구조로 나열하여 코멘트를 달면 나중에 보더라도 이해하기 더 쉬울 것 같았다.

어떻게 해야 간지나는 트리 구조를 만들 수 있을까 방법을 찾다보니 역시나 파일 구조를 트리로 이쁘게 출력해주는 커맨드 툴이 존재했다.

tree 커맨드에 대해서 알아보고 알짜배기 내용만 정리했다.

# 설치

나는 Mac을 사용한다. 기본적으로 zsh에 내장되어있진 않으니 Homebrew를 이용해서 직접 `tree`를 설치한다.

```bash
brew install tree
```

# 사용법

사용법은 참으로 단순하다. 그냥 터미널에다가 `tree dirPath` 해주면 해당 경로 아래의 모든 파일 및 폴더 구조를 아래와 같이 이쁜 트리로 출력해준다.

```bash
tree ./lib/src
```

```plaintext
./lib/src
├── animation_widgets
├── common_widgets
│   ├── app_bar
│   ├── buttons
│   ├── dialog
│   ├── image_widgets
│   ├── indicators
│   ├── list_items
│   ├── modal
│   └── search_bar
├── constants
├── demo_widgets
├── error

... 생략 ...
```

### 옵션

파라미터를 추가하여 다양한 옵션을 설정할 수 있다. `-a` : 숨김 폴더 및 파일 표시 `-d` : 디렉토리만 표시

이외에도 다양한 옵션을 함께 활용할 수 있는데, 나는 이정도면 충분해서 더 알아보진 않았다.

더 자세한 정보가 필요하다면 `man tree`를 통해 확인해보자.

터미널에 출력되는 걸 복붙하는 건 조금 애송이 같으니까 파일을 따로 생성하여 tree 정보를 저장했다.

```bash
tree ./lib/src -d > tree.md
```

# 결론

어디서 본 듯한 이쁜 디렉토리 구조를 이제 나도 출력할 수 있다!
