Leaves: 텍스트 UI 디스크 사용량 트리맵 시각화 도구

Leaves: 텍스트 UI 디스크 사용량 트리맵 시각화 도구

Leaves는 WinDirStat 및 QDirStat와 같은 도구에서 영감을 받은 텍스트 모드 디스크 사용량 분석기입니다. 파일과 디렉터리를 중첩된 사각형 계층 구조로 시각화하며, 각 사각형의 면적은 디스크 상의 항목 크기에 비례합니다. 이 접근 방식은 터미널 환경에서 디스크 공간을 많이 차지하는 항목을 빠르게 파악할 수 있게 해 주며, 그래픽 사용자 인터페이스를 사용할 수 없는 원격 쉘 연결에 특히 유용합니다.

트리맵을 이용한 디스크 사용량 시각화

Leaves는 파일 시스템을 나타내기 위해 트리맵 레이아웃을 사용합니다. 중앙 패널에는 크기가 다양한 사각형이 표시되며, 형제 항목보다 두 배 큰 파일이나 디렉터리는 사각형 면적이 두 배가 됩니다.

도구가 문자 수준 해상도로 동작하기 때문에 시각화는 거친 근사치에 불과합니다. 이를 관리하기 위해 Leaves는 시각적 혼란을 방지하는 여러 기능을 구현했습니다:

  • 확장 및 축소: 사용자는 필요에 따라 디렉터리를 확장하거나 축소할 수 있습니다. 디렉터리를 축소하면 상세한 하위 사각형이 파일 유형 요약으로 대체되어 동일한 확장자를 가진 파일들을 누적 크기에 비례하는 하나의 사각형으로 그룹화합니다.
  • 최대 깊이 제어: --max-depth 플래그(기본값 5)를 사용하면 메모리 사용량과 시각적 명료성을 위해 도구가 디렉터리 트리를 탐색하는 깊이를 제한할 수 있습니다.
  • X‑Ray 모드: x 키를 눌러 "X‑Ray" 모드에 들어가면 파일을 최상위 수준에서 유형별로 그룹화한 뒤, 해당 영역을 디렉터리별로 다시 분할합니다. 이를 통해 전체 스캔 경로에서 어떤 유형의 파일이 가장 많은 공간을 차지하는지 다른 관점으로 파악할 수 있습니다.

탐색 및 인터페이스

인터페이스는 세 가지 주요 영역으로 나뉩니다: 현재 경로, 총 크기 및 파일 수를 표시하는 제목 표시줄; 접을 수 있는 탐색 트리를 갖춘 사이드바; 그리고 중앙 트리맵 패널.

탐색은 키보드 단축키와 마우스 조작으로 이루어집니다:

  • 포커스 보기: Enter 키를 눌러 선택한 디렉터리에 포커스를 맞추면 현재 뷰가 해당 디렉터리 내용으로 교체됩니다. Backspace 키를 누르면 상위 디렉터리로 돌아갑니다.
  • 트리 탐색: 화살표 키로 탐색 트리를 이동하고, Space 키로 디렉터리를 열거나 닫습니다.
  • 깊이 조정: +- 키로 시각화의 실행 시 깊이를 조절합니다.

설정 및 커스터마이징

Leaves는 $USER_CONFIG_DIR/leaves/settings.toml에 위치한 설정 파일이나 LEAVES_ 접두사가 붙은 환경 변수를 통해 높은 수준으로 커스터마이징할 수 있습니다.

테마 및 색상 스키마

항목은 유형에 따라 색상이 지정되어 빠른 시각적 스캔이 가능하도록 합니다. 디렉터리는 이름을 기준으로 차가운 색조 팔레트(viridis)로 색칠되고, 파일은 확장자를 기준으로 노랑/주황/갈색 스키마로 색칠됩니다.

내장 테마 네 가지가 제공됩니다:

  • Fall: 파일은 따뜻한 색, 디렉터리는 차가운 색.
  • Spring: 확장자는 차가운 색, 디렉터리는 따뜻한 색.
  • Greys: 회색 톤.
  • Mono: 흑백.

사용자는 settings.toml 파일에서 HTML 색상 코드, 16진수 RGB 또는 HSL 삼중값을 사용해 사용자 정의 테마를 정의할 수도 있습니다.

기술 구현 및 제한 사항

Leaves는 Rust로 작성되었으며 소스에서 빌드하려면 Rust 툴체인이 필요합니다. 여러 플랫폼용 사전 빌드 바이너리도 지원합니다.

스캔 시 고려 사항

루트 디렉터리(/)를 스캔할 때는 /dev, /proc, /sys, /run과 같은 가상 파일 시스템을 제외해야 비논리적인 결과를 방지할 수 있습니다. 이는 부정적 오버라이드(예: leaves -A -d 3 / '!/proc' '!/tmp')를 사용해 수행할 수 있습니다.

링크 처리

  • 심볼릭 링크: 도구는 심볼릭 링크를 따라가지 않아 스캔 디렉터리 외부의 디스크 사용량을 이중 계산하지 않습니다.
  • 하드 링크: 도구는 하드 링크를 감지하지 않으므로 하드 링크는 이중 계산됩니다.

커뮤니티 인사이트 및 대안

Hacker News 커뮤니티 사용자들은 Leaves를 다른 디스크 사용량 도구와 비교했습니다. 일부는 ncdu, dua-cli, mcdu와 같은 전통적인 리스트 기반 접근 방식을 선호하는 반면, 다른 사용자들은 트리맵 시각화가 큰 파일 군집을 찾는 데 더 직관적이라고 평가했습니다.

"파일 유형 확장자 파티셔닝 기능은 블록 문자 제한을 처리하기 위한 정말 스마트한 추가 기능이다."

다른 언급된 대안으로는 WizTree, GrandPerspective, SpaceSniffer와 같은 GUI 도구와 TUI 도구인 Broot(br -w 명령) 등이 있습니다.


요약: Leaves는 Rust 기반 터미널 유틸리티로, WinDirStat에서 영감을 받은 트리맵 시각화를 제공하여 텍스트 모드 인터페이스에서 중첩된 사각형을 통해 큰 파일과 디렉터리를 식별할 수 있게 합니다.

제목: Leaves: 텍스트 UI 디스크 사용량 트리맵 시각화 도구

Sources