[맥 / Unix] 터미널에서 트리 구조로 파일 확인 | tree 커맨드

맥 터미널(Unix) 환경에서 트리(TREE) 형식의 파일 구조로 작업 디렉토리 내 파일들을 리스팅하는 방법입니다. 일반적으로 터미널에서 ls 커맨드를 사용하여 해당 디렉토리 내의 파일을 확인하는 것과는 약간의 차이가 있습니다.

  • ls 커맨드 : 현재 작업 중인 디렉토리 혹은 목표 디렉토리의 파일들만 출력
  • tree 커맨드 : 현재 디렉토리의 모든 하위 파일/폴더를 트리 구조로 출력

트리 구조 출력 | tree ▼

~/Documents/test (176) $tree
.
├── GUI
│   ├── DSC04600.jpg
│   ├── DSC04607.jpg
│   ├── DSC04608.jpg
│   ├── DSC04609.jpg
│   ├── DSC04610.jpg
│   ├── DSC04612.jpg
│   ├── DSC04613.jpg
│   ├── DSC04615.jpg
[중략]

  • UPDATE 2019-02-23 : 내용 보완 및 문구 수정

터미널에서 트리 구조로 파일 확인

일반 리스팅(ls)과는 다르게 트리 구조로 파일을 확인하기 위해서는 tree 앱만 설치해주시면 됩니다. Homebrew가 설치된 환경에서 진행해주시기 바랍니다.

꼭 tree 앱을 설치하지 않으시더라도 find 커맨드를 활용하여 적절하게 비슷한 기능을 구현할 수도 있습니다. 만약 tree 앱을 설치하기를 원하지 않으시면 본문 하단의 추가 방법을 활용하시면 됩니다.

 

1) ‘tree’를 설치합니다. ▼

brew install tree

* 만약, HomeBrew가 설치되어 있지 않다면 아래 커맨드로 HomeBrew를 먼저 설치해주시기 바랍니다.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

2) 간단하게 설치가 완료되었다면, 작업 중인 디렉토리 내에서 tree 커맨드만 실행해주시면 됩니다. ▼

$ tree
.
├── newPhoto
│   ├── DSC02030.jpg
│   ├── DSC02034.jpg
│   ├── DSC02046.jpg
│   ├── DSC02047.jpg
│   ├── DSC02056.jpg
│   ├── DSC02058.jpg
│   ├── DSC02059.jpg
│   └── DSC02060.jpg
└── newPhoto.tar.gz
1 directory, 9 files

 

추가 방법 | 수동으로 tree 기능 설정 ▼

아래 커맨드는 Homebrew를 통해 설치한 tree 앱과 비슷하게 동작합니다. 쉘 환경 설정에서 alias로 등록해두고 사용하시면 tree 앱과 기능상 차이가 없다고 보시면 됩니다.

  • 기본 커맨드 ▼
find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
  • 예시 ▼
$ find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
.
|____.DS_Store
|____Icon
|____Original
| |____DSC04615.jpg
| |____DSC04600.jpg
| |____DSC04628.jpg
| |____DSC04616.jpg
| |____DSC04613.jpg
| |____DSC04607.jpg
| |____DSC04612.jpg
| |____DSC04610.jpg
| |____DSC04598.jpg

 

1) ~/.bash_profile 혹은 /bashrc 편집합니다. ▼

vim ~/.bash_profile //현재 사용자만 적용
vim /bashrc //전체 사용자 적용

 

2) alias를 추가합니다. 이때 alias(바로가기) 이름이 겹치지 않도록 주의하시기 바랍니다. 꼭 tree라고 명명하지 않으셔도 됩니다. ▼

alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"

 

3) 저장 후 에디터를 종료합니다. 터미널만 재시작해주시면 alias로 등록한 이름(위 tree)으로 사용하실 수 있습니다. ▼

:wq

이상입니다.

댓글 남기기