Linux

디렉터리 구조를 확인하고 싶을 때 - tree

둔진 2020. 5. 23. 05:38

  현재 작업 중인 프로젝트의 디렉터리 구조를 알고 싶을 때가 있습니다. 물론 작업 중이던 프로젝트라면 머릿속에 대부분이 들어있겠지만, 문서화를 한다거나, 프로젝트를 맡은 지 얼마 안 됐다거나 하는 경우에는 필요한 경우가 있습니다. 

 

  tree 라는 명령을 사용할 건데요.

  혹시 설치가 되어있지 않다면 설치해줍니다.

이 Tree 아니고요...

  Ubuntu를 사용하신다면,

sudo apt install tree 

  Mac OS X를 사용하신다면,

brew install tre

  과 같이 설치해줍니다.

 

  사용법은 아주 간단합니다.

➜   tree django_demo
django_demo
|-- django_demo
|   |-- __init__.py
|   |-- __pycache__
|   |   |-- __init__.cpython-37.pyc
|   |   `-- settings.cpython-37.pyc
|   |-- asgi.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
|-- manage.py
`-- superboard
    |-- __init__.py
    |-- admin.py
    |-- apps.py
    |-- migrations
    |   `-- __init__.py
    |-- models.py
    |-- tests.py
    `-- views.py

4 directories, 15 files

  군더더기 없이 참 깔끔하죠?

  디렉터리 구조가 아주 깊은 경우 특정 깊이까지만 출력하고 싶을 때도 있습니다. 이때는 -L level 옵션을 사용하면 됩니다.

➜  tree django_demo -L 1
django_demo
|-- django_demo
|-- manage.py
`-- superboard

2 directories, 1 file

 

  이 외에도 몇가지 유용한 옵션들이 있습니다.

  • -a: .으로 시작하는 hidden file도 출력합니다.
  • -d: 파일은 제외하고 디렉터리만 출력합니다.
  • -f: 각 디렉터리/파일의 전체 경로를 함께 출력합니다.
  • -s: 각 파일의 크기를 함께 출력합니다. -h를 쓰면 읽기 편한 형태로 출력합니다. (-h)
  • -p: 각 파일의 퍼미션을 함께 출력합니다.
  • -u: 각 파일의 owner를 함께 출력합니다.
  • -g: 각 파일의 group을 함께 출력합니다.
  • -C: 각 파일에 맞는 컬러를 사용해서 출력합니다.
  • -A: 선문자를 사용해서 좀 더 예쁘게 출력합니다.

  간단한 명령이지만 알아두면 요긴하게 쓰이는 tree 명령이었습니다.