Post List

2016년 10월 18일 화요일

CentOS 디렉토리 구조를 트리 형태로 보기

리눅스(CentOS) 환경에서 디렉토리 구조를 트리 형태로 보고 싶다.

tree 라는 명령어가 있는데 막상 쉘에서 입력해보면 아래와 같이 없다고 나온다.


[binrang@localhost ex-electrode-app]$ tree
bash: tree: 명령을 찾을 수 없습니다...

yum 으로 설치를 해 보자. 하지만...

[binrang@localhost ex-electrode-app]$ yum install tree
Loaded plugins: fastestmirror, langpacks
You need to be root to perform this command.

루트 권한 없다고 튕긴다.



그럼 root 로 로그인 하거나 sudo를 이용해보자.

[binrang@localhost ex-electrode-app]$ sudo yum install tree
[sudo] password for binrang: 
Loaded plugins: fastestmirror, langpacks
base                                                                                                 | 3.6 kB  00:00:00     
epel/x86_64/metalink                                                                                 | 4.5 kB  00:00:00     
extras                                                                                               | 3.4 kB  00:00:00     
updates                                                                                              | 3.4 kB  00:00:00     
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * epel: ftp.jaist.ac.jp
 * extras: mirror.oasis.onnetcorp.com
 * updates: mirror.oasis.onnetcorp.com
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 0:1.6.0-10.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================
 Package                   Arch                        Version                              Repository                 Size
============================================================================================================================
Installing:
 tree                      x86_64                      1.6.0-10.el7                         base                       46 k

Transaction Summary
============================================================================================================================
Install  1 Package

Total download size: 46 k
Installed size: 87 k
Is this ok [y/d/N]: y
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm                                                                         |  46 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : tree-1.6.0-10.el7.x86_64                                                                                 1/1 
  Verifying  : tree-1.6.0-10.el7.x86_64                                                                                 1/1 

Installed:
  tree.x86_64 0:1.6.0-10.el7                                                                                                

Complete!
[binrang@localhost ex-electrode-app]$ 

이제 tree 명령을 사용해 보자

[binrang@localhost ex-electrode-app]$ tree|more
.
├── LICENSE
├── README.md
├── client
│   ├── actions
│   │   └── index.jsx
│   ├── app.jsx
│   ├── components
│   │   └── home.jsx
│   ├── reducers
│   │   └── index.jsx
│   ├── routes.jsx
│   └── styles
│       └── base.css
......
├── server
│   ├── index.js
│   ├── plugins
│   │   └── webapp
│   │       ├── index.html
│   │       └── index.js
│   └── views
│       └── index-view.js
└── test
    └── client
        └── components
            └── home.spec.jsx

3500 directories, 24953 files
[binrang@localhost ex-electrode-app]$ 

이런 끝도 없이 나오네...  내가 원하는 결과가 아니다.
명령어를 검색해봐야겠네..

-d : 디렉토리만 나오는 옵션
-a : 파일까지 걍 다 나오는 옵션
-f :  풀 패스까지 표시하는 옵션
-L level : 지정된 레벨 깊이까지 출력하는 옵션

등이다.

이제 원하는 결과인 2depth에 디렉토리만 출력해보자.

[binrang@localhost ex-electrode-app]$ tree -d -L 2
.
├── client
│   ├── actions
│   ├── components
│   ├── reducers
│   └── styles
├── config
├── node_modules
│   ├── Base64
│   ├── abbrev
....
├── server
│   ├── plugins
│   └── views
└── test
    └── client

978 directories
[binrang@localhost ex-electrode-app]$ 

원하는 결과를 얻었다.