리눅스를 사용하면서 가장 득템한 명령어가 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 |
다른 옵션들도 많은데요.
주로 사용하는 옵션들만 정리합니다.
감사합니다.
반응형
'IT > LINUX' 카테고리의 다른 글
리눅스 사용자 추가 . useradd 명령어 (1) | 2022.10.05 |
---|---|
리눅스 CentOS solidity 컴파일러 solc 설치하기 . 샘플 컴파일 (1) | 2022.10.04 |
CentOS 리눅스 wget 설치하기 . 사용법(..이어받기..) (0) | 2022.10.02 |
CentOS7 minimal 설치 후속 작업들 (0) | 2022.10.01 |
리눅스 시스템 종료 재부팅 명령어 (0) | 2021.11.26 |
댓글