Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

리눅스에서 디렉토리를 실제 용량 기준으로 정렬하는 방법: 단계별 완벽 가이드

리눅스 파일 관리자의 한계

리눅스 파일 브라우저는 윈도우의 파일 탐색기나 macOS의 파인더와 마찬가지로, 디렉토리를 실제 용량 기준으로 정렬하는 기능이 사용자들이 기대하는 방식과 다르게 작동하는 경우가 많습니다. 하위 폴더의 개수나 포함된 파일 수를 기준으로 정렬할 수는 있지만, 대부분의 경우 실제 파일 크기 기준 정렬은 제대로 지원되지 않으며 별도의 도구가 필요합니다.

다행히 몇 가지 요령만 알면 디렉토리가 차지하는 실제 저장 공간 크기를 손쉽게 확인할 수 있습니다. 파일 시스템 관점에서 폴더(folder)와 디렉토리(directory)는 사실상 같은 개념이므로, 어떤 용어를 선호하든 아래에서 소개하는 방법들은 모두 동일하게 적용됩니다. 이 글에서는 일관성을 위해 '디렉토리'라는 용어를 사용합니다.

방법 1: 디스크 사용량 분석기(Disk Usage Analyzer) 활용하기

그래픽 기반 디스크 분석 도구를 선호하는 우분투, 데비안, 리눅스 민트 사용자라면 터미널에서 sudo apt-get install baobab 명령으로 GNOME 디스크 사용량 분석기를 설치할 수 있습니다. 페도라나 레드햇 계열 배포판 사용자는 sudo yum install baobab 명령을 사용하면 됩니다. 단, baobab은 GTK+ 애플리케이션이므로 KDE나 LXQt처럼 Qt 기반 데스크톱 환경을 사용한다면 일부 의존성 패키지를 추가로 설치해야 할 수 있습니다.

설치가 완료되면 터미널에 baobab을 입력해 프로그램을 실행하거나, 우분투 유니티 데스크톱의 Dash에서 검색할 수 있습니다. 응용 프로그램 찾기(Application Finder)를 이용하려면 Super(또는 Windows) 키를 누른 상태에서 R 키를 누른 뒤 baobab을 입력하고, 애플리케이션 메뉴의 시스템 도구(System Tools) 카테고리에서 'GNOME 디스크 사용량 분석기'를 클릭해 실행할 수도 있습니다. 어떤 방법을 선택할지는 사용 중인 데스크톱 환경에 따라 달라집니다.

프로그램이 시작되면 먼저 분석할 파일 시스템을 선택하라는 메시지가 표시됩니다. 원하는 디렉토리가 있는 장치를 선택하면 잠시 후 해당 장치의 전체 디렉토리 구조가 최상위 목록 형태로 나타납니다.

'크기(Size)' 버튼을 클릭하면 디렉토리를 실제 용량 기준 내림차순으로 정렬할 수 있으며, 오름차순이 기본 설정입니다. 디렉토리 이름 옆의 화살표를 클릭해 폴더를 확장하면 그 아래에 있는 하위 디렉토리들도 같은 기준으로 정렬됩니다.

'항목(Contents)' 항목을 클릭하면 일반 파일 관리자와 마찬가지로 포함된 항목 수 기준으로 정렬됩니다. 이를 활용하면 각 최상위 디렉토리의 실제 용량과 하위 디렉토리의 항목 수를 비교해 볼 수 있어 매우 유용합니다.

방법 2: 고전적인 du 명령어 활용하기

명령줄 작업이 부담스럽지 않다면 거의 모든 리눅스 환경에서 Unix 계열의 디스크 사용량(du) 도구를 사용할 수 있습니다. du는 지정한 파일들의 디스크 사용량을 요약해 보여주며, 인수 없이 실행하면 각 디렉토리를 재귀적으로 순회하면서 디렉토리 트리의 끝까지 각 폴더의 크기를 집계합니다.

특정 위치의 하위 디렉토리들을 용량순으로 정렬하고 싶다면 다음 명령어를 사용하세요:

du --si --max-depth=1 nameOfDirectory | sort -h

nameOfDirectory 부분은 시작점으로 삼고 싶은 디렉토리 경로로 바꿔주면 됩니다. 예를 들어 /lib 바로 아래에 있는 모든 디렉토리를 용량순으로 정렬하려면 다음과 같이 입력합니다:

du --si --max-depth=1 /lib | sort -h

--max-depth= 뒤의 숫자는 du 명령이 디렉토리 구조를 얼마나 깊이 탐색할지를 결정합니다. 여기서는 전체 트리를 모두 훑지 않고 하나의 디렉토리 바로 아래만 확인하는 것이 목적이므로 1로 두었습니다.

--si 인수는 국제단위계(SI) 기준, 즉 1KB = 1,000바이트로 용량을 출력하도록 지정하는 옵션입니다. macOS에서 넘어왔거나 하드웨어 용량 계산 방식에 익숙한 사용자에게 적합하지만, 많은 사용자는 1MB = 1,024바이트인 이진(binary) 단위에 더 익숙합니다. 이런 경우 --si를 -h로 바꾸면 됩니다:

du -h --max-depth=1 /lib | sort -h

이렇게 하면 키비바이트(kibibyte) 등 이진 단위를 선호하는 사용자에게 익숙한 형태로 출력됩니다. 만약 최상위 디렉토리 안에 하위 디렉토리가 너무 많아 결과가 화면을 벗어난다면 명령 끝에 | less 또는 | more를 붙여 페이지 단위로 넘겨볼 수 있습니다. 물론 최신 X 터미널 에뮬레이터라면 스크롤바, 트랙패드, 터치스크린으로 자유롭게 스크롤할 수 있습니다.

ncdu로 더 편리하게

du 명령을 자주 사용하게 된다면 ncurses 기반의 시각화 도구 ncdu를 설치해 보세요. 데비안, 우분투 및 각종 우분투 파생 배포판, Bodhi, 리눅스 민트에서는 sudo apt-get install ncdu로 설치할 수 있습니다. 페도라와 레드햇 사용자는 sudoers 파일이 설정되어 있다면 sudo yum install ncdu, 그렇지 않다면 su -로 관리자 권한을 얻은 뒤 yum install ncdu를 실행하면 됩니다.

ncdu는 ncurses 외에는 특별한 의존성이 없으므로 설치 과정에서 문제가 생길 가능성은 낮습니다. 현재 디렉토리를 분석하려면 ncdu를, 다른 위치를 살펴보려면 ncdu /lib처럼 원하는 경로를 지정해 실행하세요.

프로그램이 시작되면 지정한 디렉토리 안의 항목 수를 계산 중이라는 메시지가 표시됩니다. 계산이 끝나면 방향키로 디렉토리를 탐색할 수 있고, S 키를 누르면 실제 용량 순서대로 정렬을 전환할 수 있습니다.

저자 소개

리눅스에서 디렉토리를 실제 용량 기준으로 정렬하는 방법: 단계별 완벽 가이드

Kevin Arrows

케빈 애로우즈(Kevin Arrows)는 10년 이상의 업계 경력을 지닌 베테랑 기술 전문가로, MCTS(Microsoft Certified Technology Specialist) 자격증을 보유하고 있습니다. 최신 기술 동향을 꾸준히 학습하는 것을 열정으로 삼고 있으며, 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 다양한 IT 분야에 걸쳐 폭넓게 집필해 왔습니다. 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 동료들 사이에서 높은 평가를 받고 있습니다.