hashize 사용 가이드

Linux용-디렉토리 구조와 용량을 한눈에 시각화하는 명령줄 도구

hashize 다운로드 (29KB) hashize_static 다운로드 (898KB)

hashize: 동적 링크 버전 (가볍고 빠름, 일반 Linux 환경)
hashize_static: 정적 링크 버전 (독립 실행, 의존성 오류 발생시, 이식성 높음)

소개

hashize는 디렉토리 트리 구조를 시각화하고 각 파일 및 디렉토리의 크기를 읽기 쉬운 형식으로 표시하는 명령줄 도구입니다. tree 툴과 비슷하지만 용량에 따른 Limit , 정렬 기능을 쉽게 사용 가능합니다.

(개발: IT Infra hash, github : domuji6@gmail.com)

주요 특징
  • 트리 형태의 직관적인 디렉토리 구조 표시
  • 파일 크기를 사람이 읽기 쉬운 형식(KiB, MiB, GiB)으로 자동 변환
  • 크기, 이름, 수정 시간별 정렬 지원
  • 파일/디렉토리 필터링 및 표시 개수 제한
  • 색상 지원으로 가독성 향상
버전 선택:
대부분의 경우 hashize (동적 링크 버전)를 사용하는 것을 권장합니다. 실행 시 라이브러리 오류가 발생하거나 특수한 환경에서만 hashize_static을 사용하세요.

출력 형식

색상 의미

출력 예시

실제 터미널에서 보이는 모습:

/var/www
├── html/ [523MiB]
│   ├── nextcloud/ [450MiB]
│   ├── guide/ [8.5MiB]
│   ├── index.html [21KiB]
│   └── more file(+15)
└── logs/ [102MiB]
표시 형식:
  • 트리 구조: ├──, └──, 를 사용하여 계층 구조 표현
  • 크기 표시: [용량] 형식으로 표시 (B, KiB, MiB, GiB 단위)
  • 숨김 항목: 제한 옵션 사용 시 more directory(+N) 또는 more file(+N)으로 표시
  • 시간순 정렬 시: [용량] 날짜시간 형식으로 수정 시간 추가 표시

설치 및 실행

방법 1: 컴파일된 바이너리 사용 (권장)

# 1. 다운로드
wget https://sap.mdvplab.com:1443/cab/hashize

# 2. 실행 권한 부여
chmod +x hashize

# 3. 실행
./hashize /var/www

# 4. 시스템 전역 설치 (선택사항)
sudo mv hashize /usr/local/bin/
hashize /var/www  # 이제 어디서든 실행 가능

방법 2: Bash 스크립트 사용

스크립트 위치: /mnt/data5/script/df/hashize.sh

/mnt/data5/script/df/hashize.sh <디렉토리>

PATH 등록 (선택사항)

자주 사용하는 경우 alias를 설정하면 편리합니다:

# ~/.bashrc에 추가
alias hashize='/usr/local/bin/hashize'
# 또는 스크립트 버전 사용 시
alias hashize='/mnt/data5/script/df/hashize.sh'

기본 사용법

명령어 형식

hashize [옵션] <디렉토리> [최대Depth]

기본 사용 예제

# /var/www 디렉토리를 기본 Depth(2)로 분석
hashize /var/www

# /var/log 디렉토리를 Depth 3까지 분석
hashize /var/log 3

옵션 설명

옵션 설명
-h, --help 도움말 표시
-v, --version 버전 정보 표시
-s 크기순 정렬 (기본값, 큰 것부터)
-n 이름순 정렬 (알파벳순)
-t 수정 시간순 정렬 (최신순, 날짜 표시)
-f 파일만 표시
-d 디렉토리만 표시
-D NUM 표시할 디렉토리 개수 제한 (0=전체)
-L NUM 표시할 파일 개수 제한 (0=전체)
-c, --no-color 색상 출력 비활성화

활용 예제

1. 기본 사용 - 디렉토리 크기 분석

hashize /var/www 2

depth를 지정하지 않으면 기본 Depth(2)로 /var/www의 구조와 크기를 표시합니다.

2. 이름순 정렬로 표시

hashize -n /var/www 3

파일과 디렉토리를 이름순으로 정렬하여 Depth 3까지 표시합니다.

3. 최신 파일 확인 (수정 시간순)

hashize -t /var/log

최근에 수정된 파일을 찾을 때 유용하며, 수정 날짜가 함께 표시됩니다.

4. 파일만 표시

hashize -f /var/www

디렉토리는 제외하고 파일만 크기와 함께 표시합니다.

5. 상위 5개 디렉토리만 표시

hashize -D 5 /tmp

각 Depth별로 크기가 큰 상위 5개 디렉토리만 표시합니다.

6. 상위 5개 디렉토리와 10개 파일 표시

hashize -D 5 -L 10 /tmp

디렉토리와 파일의 표시 개수를 각각 제한합니다.

7. 색상 없이 출력 (파이프 사용 시)

hashize -c /tmp | head -20

색상 코드 없이 출력하여 다른 명령어로 파이프하거나 파일로 저장할 때 사용합니다.

8. 디렉토리만 크기순으로 표시

hashize -d -s /var

가장 큰 디렉토리를 찾을 때 유용합니다.

유용한 팁

Ctrl+C로 중단 가능
대용량 디렉토리 분석 중 언제든지 Ctrl+C를 눌러 작업을 안전하게 중단할 수 있습니다.

1. 디스크 공간 부족 시 큰 파일 찾기

# 파일만 크기순으로 표시하고 상위 20개 확인
hashize -f /home | head -20

2. 특정 디렉토리의 용량 순위

# 디렉토리만 표시하여 어느 폴더가 큰지 확인
hashize -d /var 4

3. 최근 변경된 파일 추적

# 시간순 정렬로 최근 작업 내역 확인
hashize -t /var/www/html 3

4. 로그 파일로 저장

# 색상 없이 출력하여 파일로 저장
hashize -c /var/www > disk_usage_report.txt

5. 상위 N개 항목만 빠르게 확인

# 각 레벨에서 상위 3개씩만 표시하여 빠른 개요 파악
hashize -D 3 -L 3 /home

시스템 요구사항

hashize (동적 링크 버전)

hashize_static (정적 링크 버전)

Bash 스크립트 버전

자주 묻는 질문

Q: 어떤 버전을 다운로드해야 하나요?

A: 대부분의 경우 hashize (동적 링크 버전)를 사용하세요. 실행 시 오류가 발생하면 hashize_static을 사용하세요.

Q: 실행이 너무 오래 걸려요.

A: 대용량 디렉토리의 경우 분석에 시간이 걸릴 수 있습니다. -D-L 옵션으로 표시 개수를 제한하거나, 최대 Depth를 줄이면 더 빠르게 확인할 수 있습니다. 또는 Ctrl+C로 중단 후 더 작은 범위로 다시 실행하세요.

Q: 색상이 깨져 보여요.

A: -c 또는 --no-color 옵션을 사용하여 색상을 비활성화하세요. 파이프로 다른 명령어와 함께 사용할 때도 이 옵션을 권장합니다.

Q: "Permission denied" 에러가 발생해요.

A: 접근 권한이 없는 디렉토리를 분석하려고 할 때 발생합니다. sudo를 사용하거나 권한이 있는 디렉토리를 지정하세요.

Q: 숨겨진 파일도 보고 싶어요.

A: hashize는 기본적으로 모든 파일(숨김 파일 포함)을 스캔합니다. -D-L 옵션으로 제한한 경우 more file(+N)으로 숨겨진 개수가 표시됩니다. 제한을 늘리거나 0으로 설정하면 모두 볼 수 있습니다.

Q: Bash 스크립트 버전과 바이너리 버전의 차이는?

A: 바이너리 버전(컴파일된 실행 파일)이 스크립트보다 빠르고 의존성이 적습니다. 성능과 편의성을 위해 바이너리 버전 사용을 권장합니다.