본문 바로가기
IT/LINUX

리눅스 tree 명령어 설치와 사용법

by SidePower 2022. 10. 3.

 

리눅스를 사용하면서 가장 득템한 명령어가 tree라고 생각합니다.

 

tree는

디렉터리를 단계적으로 하위 계층까지 보기 좋게 표시하는 명령어입니다.

 

한눈에 디렉터리 구조를 확인할수 있어요.

 

 Tree 설치

[root@localhost test]# yum install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.navercorp.com
 * extras: mirror.navercorp.com
 * updates: mirror.navercorp.com
base                                                                                                                         | 3.6 kB  00:00:00
extras                                                                                                                       | 2.9 kB  00:00:00
updates                                                                                                                      | 2.9 kB  00:00:00
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!

[root@localhost test]# tree --version
tree v1.6.0 (c) 1996 - 2011 by Steve Baker, Thomas Moore, Francesc Rocher, Kyosuke Tokoro

 Tree 사용법

 tree 입력하면 해당 디렉터리를 시작으로
    하위 디렉터리와 파일 모두 표시됩니다.
[tmach@localhost gethmain]$ tree
.
└── testnet_data
    ├── genesis.json
    ├── geth
    │   ├── chaindata
    │   │   ├── 000001.log
    │   │   ├── CURRENT
    │   │   ├── LOCK
    │   │   ├── LOG
    │   │   └── MANIFEST-000000
    │   ├── lightchaindata
    │   │   ├── 000001.log
    │   │   ├── CURRENT
    │   │   ├── LOCK
    │   │   ├── LOG
    │   │   └── MANIFEST-000000
    │   ├── LOCK
    │   └── nodekey
    └── keystore

5 directories, 13 files


♣ -f 옵션 
해당 디렉터리를 시작으로 전체 Full 경로를 표시합니다.
[tmach@localhost gethmain]$ tree -f
.
└── ./testnet_data
    ├── ./testnet_data/genesis.json
    ├── ./testnet_data/geth
    │   ├── ./testnet_data/geth/chaindata
    │   │   ├── ./testnet_data/geth/chaindata/000001.log
    │   │   ├── ./testnet_data/geth/chaindata/CURRENT
    │   │   ├── ./testnet_data/geth/chaindata/LOCK
    │   │   ├── ./testnet_data/geth/chaindata/LOG
    │   │   └── ./testnet_data/geth/chaindata/MANIFEST-000000
    │   ├── ./testnet_data/geth/lightchaindata
    │   │   ├── ./testnet_data/geth/lightchaindata/000001.log
    │   │   ├── ./testnet_data/geth/lightchaindata/CURRENT
    │   │   ├── ./testnet_data/geth/lightchaindata/LOCK
    │   │   ├── ./testnet_data/geth/lightchaindata/LOG
    │   │   └── ./testnet_data/geth/lightchaindata/MANIFEST-000000
    │   ├── ./testnet_data/geth/LOCK
    │   └── ./testnet_data/geth/nodekey
    └── ./testnet_data/keystore

5 directories, 13 files


♣ -d 옵션
디렉터리만 표시합니다.
[tmach@localhost gethmain]$ tree -d
.
└── testnet_data
    ├── geth
    │   ├── chaindata
    │   └── lightchaindata
    └── keystore

5 directories


♣ -L 옵션
하위 디렉터리 단계 지정합니다. 
2로 지정하면 2단계까지만 표시됩니다.
[tmach@localhost gethmain]$ tree -d -L 2
.
└── testnet_data
    ├── geth
    └── keystore

3 directories


♣ -p 옵션 (소문자 p)
디렉터리나 파일의 권한을 표시해줍니다.
[tmach@localhost gethmain]$ tree -p
.
└── [drwxrwxr-x]  testnet_data
    ├── [-rw-rw-r--]  genesis.json
    ├── [drwx------]  geth
    │   ├── [drwxr-xr-x]  chaindata
    │   │   ├── [-rw-r--r--]  000001.log
    │   │   ├── [-rw-r--r--]  CURRENT
    │   │   ├── [-rw-r--r--]  LOCK
    │   │   ├── [-rw-r--r--]  LOG
    │   │   └── [-rw-r--r--]  MANIFEST-000000
    │   ├── [drwxr-xr-x]  lightchaindata
    │   │   ├── [-rw-r--r--]  000001.log
    │   │   ├── [-rw-r--r--]  CURRENT
    │   │   ├── [-rw-r--r--]  LOCK
    │   │   ├── [-rw-r--r--]  LOG
    │   │   └── [-rw-r--r--]  MANIFEST-000000
    │   ├── [-rw-r--r--]  LOCK
    │   └── [-rw-------]  nodekey
    └── [drwx------]  keystore

5 directories, 13 files


♣ -P 옵션 (대문자 P)
패턴에 맞는 파일이나 디렉터리를 표시합니다.
[tmach@localhost test]$ tree
.
├── Fone
│   ├── FFsub
│   │   └── sub_txt
│   └── sample1
├── helloWorld.go
├── test1.go
└── test2.go

2 directories, 5 files

[tmach@localhost test]$ tree -P *txt
.
└── Fone
    └── FFsub
        └── sub_txt

2 directories, 1 file


♣ -s와 -h 옵션
-s 는 파일의 크기를 바이트로 표시하고 
-h 는 보기 좋게 킬로바이트 K , 메가바이드 M , 기가바이트 G , 테라바이트 T로 표시합니다.

[tmach@localhost ~]$ tree -s
....생략
│           │   │   │   │   ├── [       5288]  error.go
│           │   │   │   │   ├── [        812]  error_test.go
│           │   │   │   │   ├── [       3187]  policies_test.go
│           │   │   │   │   ├── [       2537]  progress.go
│           │   │   │   │   ├── [       4332]  request.go
│           │   │   │   │   ├── [       2680]  response.go
│           │   │   │   │   └── [        263]  version.go
│           │   │   │   └── [        915]  README.md
│           │   │   └── [        214]  azure-storage-blob-go@v0.7.0
│           │   │       ├── [       4096]  azblob
│           │   │       │   ├── [       1949]  access_conditions.go
│           │   │       │   ├── [       3156]  atomicmorph.go
│           │   │       │   ├── [     286944]  blob.json
│           │   │       │   ├── [      18528]  highlevel.go
│           │   │       │   ├── [       5250]  parsing_urls.go

[tmach@localhost ~]$ tree -h
....생략
│           │   │   │   │   ├── [5.2K]  error.go
│           │   │   │   │   ├── [ 812]  error_test.go
│           │   │   │   │   ├── [3.1K]  policies_test.go
│           │   │   │   │   ├── [2.5K]  progress.go
│           │   │   │   │   ├── [4.2K]  request.go
│           │   │   │   │   ├── [2.6K]  response.go
│           │   │   │   │   └── [ 263]  version.go
│           │   │   │   └── [ 915]  README.md
│           │   │   └── [ 214]  azure-storage-blob-go@v0.7.0
│           │   │       ├── [4.0K]  azblob
│           │   │       │   ├── [1.9K]  access_conditions.go
│           │   │       │   ├── [3.1K]  atomicmorph.go
│           │   │       │   ├── [280K]  blob.json
│           │   │       │   ├── [ 18K]  highlevel.go
│           │   │       │   ├── [5.1K]  parsing_urls.go

다른 옵션들도 많은데요.

주로 사용하는 옵션들만 정리합니다.

 

 

감사합니다.

반응형

댓글