Ubuntu에서 디스크 공간이 모자랍니다.
오늘은 디스크 용량을 많이 차지하는 디렉토리와 파일을 한눈에 찾을 수 있는 쉘 스크립트를 만들고, ncdu를 통해 더 빠르게 용량 점검하는 새로운 방법도 알아보겠습니다.
Table Of Contents
🧩disk_usage_check.sh 쉘 스크립트
먼저 가장 간단하게 아래와 같은 쉘 스크립트를 만들어서 사용할 수 있습니다.
#!/bin/bash
echo "==== Top 10 Largest Directories in / ===="
sudo du -ahx $1 | sort -rh | grep -E '^([0-9\.]+G)' | head -n 10
echo ""
echo "==== Top 10 Largest Files in / ===="
sudo find $1 -type f -exec du -h {} + 2>/dev/null | sort -rh | head -n 10
사용 방법
1. 스크립트 파일생성
위 내용을 vi 나 다른 편집기로 입력합니다.
vi disk_usage_check.sh
또는
cat > disk_usage_check.sh
#!/bin/bash
echo "==== Top 10 Largest Directories in / ===="
sudo du -ahx / | sort -rh | grep -E '^([0-9\.]+G)' | head -n 10
echo ""
echo "==== Top 10 Largest Files in / ===="
sudo find / -type f -exec du -h {} + 2>/dev/null | sort -rh | head -n 10
CTRL-D
2. 실행권한 부여 및 실행
chmod +x disk_usage_check.sh
./disk_usage_check.sh
또는
bash disk_usage_check.sh
3. 실행 방법 및 결과
실행하면 아래와 같이 용량을 많이 차지하는 TOP 10개 파일이 나타납니다.
lswhh@DESKTOP-HQPQNKV:~$ ./disk_usage_check.sh /home/lswhh
==== Top 10 Largest Directories in / ====
[sudo] lswhh 암호:
3.8G /home/lswhh
==== Top 10 Largest Files in / ====
252M /home/lswhh/.keras/datasets/pspnet101_voc2012.h5
133M /home/lswhh/JAVA/jdk-11.0.8/lib/modules
105M /home/lswhh/google-chrome-stable_current_amd64.deb
104M /home/lswhh/.cache/torch/hub/checkpoints/inception_v3_google-0cc3c7bd.pth
94M /home/lswhh/.vscode-server/bin/ddc367ed5c8936efe395cffeec279b04ffd7db78/node
92M /home/lswhh/.cache/torch/hub/checkpoints/2DFAN4-cd938726ad.zip
72M /home/lswhh/.config/google-chrome/optimization_guide_model_store/40/0CB888B74FE8F85E/5AF66561C2F3CEF0/ts.bin
72M /home/lswhh/.config/google-chrome/Default/optimization_guide_model_store/40/0CB888B74FE8F85E/66608EF7309B9C75/ts.bin
71M /home/lswhh/.local/lib/python3.8/site-packages/imageio_ffmpeg/binaries/ffmpeg-linux64-v4.2.2
🧩 ncdu란?
ncdu는 NCurses Disk Usage의 줄임말로, du와 비슷하지만 텍스트 기반 UI(ncurses)를 제공하는 툴입니다.
- 용량 큰 디렉토리/파일을 트리 구조로 보여줌
- 인터랙티브하게 탐색 가능 (위/아래 화살표로 이동, d로 삭제도 가능)
- 속도가 빠르고 직관적
사용 방법
1. 설치
Ubuntu에서 다음 명령어로 설치할 수 있습니다. 용량이 매우 작으므로 부담없이 설치하시면 됩니다.
sudo apt update
sudo apt install ncdu
lswhh@DESKTOP-HQPQNKV:~$ sudo apt install ncdu
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 새 패키지를 설치할 것입니다:
ncdu
0개 업그레이드, 1개 새로 설치, 0개 제거 및 140개 업그레이드 안 함.
42.8 k바이트 아카이브를 받아야 합니다.
이 작업 후 105 k바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 ncdu amd64 1.14.1-1 [42.8 kB]
내려받기 42.8 k바이트, 소요시간 1초 (32.1 k바이트/초)
Selecting previously unselected package ncdu.
(데이터베이스 읽는중 ...현재 75372개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../ncdu_1.14.1-1_amd64.deb ...
Unpacking ncdu (1.14.1-1) ...
ncdu (1.14.1-1) 설정하는 중입니다 ...
Processing triggers for man-db (2.9.1-1) ...
2. 사용
현재 디렉토리에서 ncdu를 실행합니다.
ncdu ./
다음과 같이 화면이 뜨면서 키로 조작 가능합니다.
나가려면 q를 누르면 되고 d를 눌러서 삭제도 가능합니다 .
3. 키와 기능
조작 키 | 기능 |
↑ / ↓ | 항목 이동 |
→ | 디렉토리 열기 |
← | 이전 디렉토리로 이동 |
d | 파일/디렉토리 삭제 |
q | 종료 |
n / s | 이름/사이즈 기준 정렬 전환 |
결론
오늘은 우분투와 linux에서 사용할 수 있는 용량 검색 및 관리 툴인 ncdu와 du를 이용한 용량 체크 쉘 스크립트를 만들어보았습니다.
요즘 파이썬이 너무 맘대로 많이 깔려서 뭐가 있는지도 잘 모르는 사이에 디스크가 차고 있는데, 이런 툴이나 스크립트를 이용해 관리하시면 편리하실 것 같습니다.
'IT' 카테고리의 다른 글
유튜브의 분산 DBMS Mysql을 사용하는 Vitess 란? (0) | 2025.03.05 |
---|---|
unicrsv3.dll 오류의 원인 - CrossCert 인증 프로그램과 삭제 방법 (0) | 2024.11.19 |
HP 노트북의 에러 없애기 - HP Client Security 제거로 DPPassFilter.dll 오류 해결 (3) | 2024.11.04 |
쿠팡 API를 이용하여 상품 업로드 시 인증 에러 원인과 처리 방법 (6) | 2024.10.31 |
네이버 스마트스토어 상품 가져와서 쿠팡에 자동으로 올리는 프로그램 만들기 (5) | 2024.10.28 |