Bỏ qua đến nội dung chính
Thứ 2 – Thứ 6: 8:00 – 17:30
Công cụ & Tài liệu

ncdu là gì? Hướng dẫn kiểm tra dung lượng ổ đĩa trên Linux

Hướng dẫn cài đặt và sử dụng ncdu để tìm file, thư mục chiếm nhiều dung lượng trên Linux, macOS và máy chủ VPS qua SSH.

30/10/2026 6 phút đọc Kim Trien
ncdu là gì? Hướng dẫn kiểm tra dung lượng ổ đĩa trên Linux
Nội dung bài viết
  1. ncdu là gì?
  2. Khi nào nên sử dụng ncdu?
  3. Cách cài đặt ncdu
  4. Ubuntu và Debian
  5. Fedora, Rocky Linux và AlmaLinux
  6. Arch Linux
  7. Alpine Linux
  8. macOS
  9. Cách sử dụng ncdu cơ bản
  10. Các phím điều khiển quan trọng
  11. Quét toàn bộ hệ thống an toàn
  12. Loại trừ thư mục không cần quét
  13. Tăng tốc và lưu kết quả quét
  14. Quét song song trên ncdu 2.x
  15. Xuất kết quả để xem lại
  16. Phân tích máy chủ từ xa qua SSH
  17. ncdu khác gì với du?
  18. Các lệnh ncdu hữu ích
  19. Câu hỏi thường gặp về ncdu
  20. Kết luận

Ổ đĩa máy chủ sắp đầy nhưng bạn chưa biết thư mục nào đang chiếm chỗ? ncdu giúp quét, sắp xếp và duyệt dung lượng ngay trong Terminal bằng giao diện trực quan, đặc biệt hữu ích khi quản trị Linux hoặc VPS qua SSH.

Tóm tắt nhanh

  • ncdu là công cụ phân tích dung lượng ổ đĩa có giao diện tương tác trong Terminal.
  • Lệnh cơ bản nhất là ncdu /duong-dan; khi quét toàn hệ thống nên dùng sudo ncdu -r -x /.
  • Tùy chọn -x giữ quá trình quét trong một filesystem, còn -r vô hiệu hóa chức năng xóa.
  • ncdu có thể loại trừ thư mục, xuất kết quả để xem lại và phân tích máy chủ từ xa qua SSH.

ncdu là gì?

ncdu là viết tắt của NCurses Disk Usage. Đây là công cụ phân tích dung lượng ổ đĩa hoạt động trong Terminal, tương tự lệnh du nhưng có giao diện tương tác.

Sau khi quét, ncdu hiển thị file và thư mục theo dung lượng. Người dùng có thể đi sâu vào từng thư mục, thay đổi cách sắp xếp, xem thông tin chi tiết và xác định nhanh dữ liệu đang chiếm nhiều không gian lưu trữ.

Theo trang chính thức của ncdu, công cụ được thiết kế để tìm các thành phần chiếm dung lượng trên máy chủ từ xa, nơi thường không có giao diện đồ họa. ncdu cũng hoạt động tốt trên máy tính cá nhân chạy hệ điều hành tương thích POSIX.

Khi nào nên sử dụng ncdu?

  • Máy chủ hoặc VPS báo gần hết dung lượng ổ đĩa.
  • Website không thể ghi log, tạo cache hoặc tải file mới.
  • Docker, bản sao lưu hoặc file media tăng dung lượng bất thường.
  • Cần kiểm tra nhanh các thư mục như /var, /home, /opt hoặc /var/www.
  • Muốn dọn dẹp máy chủ từ xa thông qua SSH.

Trước khi quét chi tiết, hãy dùng lệnh sau để xem phân vùng nào đang đầy:

df -h

Nếu bạn chưa quen với khái niệm máy chủ ảo, có thể tham khảo thêm bài VPS là gì? Những điều cần biết về VPS.

Cách cài đặt ncdu

Ubuntu và Debian

sudo apt update
sudo apt install ncdu

Fedora, Rocky Linux và AlmaLinux

sudo dnf install ncdu

Với các hệ thống CentOS cũ:

sudo yum install ncdu

Arch Linux

sudo pacman -S ncdu

Alpine Linux

sudo apk add ncdu

macOS

Nếu máy đã cài Homebrew:

brew install ncdu

Kiểm tra phiên bản sau khi cài:

ncdu --version

Thông tin

Phiên bản ncdu trong kho phần mềm của mỗi hệ điều hành có thể khác nhau. Hãy dùng ncdu --help hoặc man ncdu để xem chính xác các tùy chọn được hỗ trợ trên máy của bạn.

Cách sử dụng ncdu cơ bản

Quét thư mục hiện tại:

ncdu

Quét một thư mục cụ thể:

ncdu /var

Kiểm tra thư mục chứa dữ liệu website:

ncdu /var/www

Thời gian quét phụ thuộc vào số lượng file, tốc độ ổ đĩa và loại filesystem. Một thư mục có hàng triệu file nhỏ thường mất nhiều thời gian hơn thư mục chỉ chứa vài file lớn.

Các phím điều khiển quan trọng

Phím Chức năng
↑, ↓ hoặc j, kDi chuyển giữa các mục
Enter, → hoặc lMở thư mục đang chọn
← hoặc hQuay lại thư mục cha
sSắp xếp theo dung lượng
nSắp xếp theo tên
iXem thông tin mục đang chọn
gThay đổi cách hiển thị tỷ lệ và biểu đồ
aChuyển giữa dung lượng thực tế và kích thước biểu kiến
rQuét lại thư mục hiện tại
dXóa file hoặc thư mục đang chọn
?Mở trợ giúp
qThoát ncdu

Quét toàn bộ hệ thống an toàn

Để kiểm tra phân vùng gốc nhưng không đi sang filesystem khác được gắn bên trong, sử dụng tùy chọn -x:

ncdu -x /

Khi cần quyền quản trị để đọc toàn bộ hệ thống, nên bật chế độ chỉ đọc:

sudo ncdu -r -x /
  • -x: chỉ quét dữ liệu nằm trên cùng filesystem với đường dẫn bắt đầu.
  • -r: vô hiệu hóa tính năng xóa trong giao diện ncdu.

Dùng -r hai lần để vô hiệu hóa cả chức năng xóa và mở shell:

sudo ncdu -rr -x /

Cảnh báo

Không nên chạy ncdu bằng quyền root rồi xóa trực tiếp khi chưa kiểm tra kỹ. Các thư mục hệ thống, dữ liệu cơ sở dữ liệu, Docker volume và file đang được tiến trình sử dụng có thể gây sự cố nếu bị xóa nhầm.

Loại trừ thư mục không cần quét

Bỏ qua một thư mục bằng tùy chọn --exclude:

ncdu --exclude node_modules .

Loại trừ nhiều mẫu:

ncdu --exclude node_modules --exclude .git --exclude vendor .

Bạn cũng có thể lưu các mẫu vào file exclude.txt:

node_modules
.git
vendor
storage/logs

Sau đó chạy:

ncdu -X exclude.txt .

Mục bị loại trừ vẫn có thể xuất hiện trong giao diện, nhưng nội dung không được quét và không được tính vào thống kê dung lượng.

Tăng tốc và lưu kết quả quét

Quét song song trên ncdu 2.x

Các phiên bản ncdu 2.x hiện đại hỗ trợ quét song song. Ví dụ, sử dụng tám luồng:

ncdu -t8 /var

Hiệu quả thực tế phụ thuộc vào ổ đĩa, filesystem và thiết bị lưu trữ mạng. Nếu ncdu báo không nhận tùy chọn -t, hãy chạy lại mà không có tùy chọn này.

Xuất kết quả để xem lại

Với một cây thư mục lớn, bạn có thể quét một lần rồi lưu kết quả JSON:

ncdu -o scan.json /var

Mở lại kết quả:

ncdu -f scan.json

Khi đọc dữ liệu từ file, ncdu mặc định vô hiệu hóa các chức năng xóa, làm mới và mở shell. Đây là cơ chế bảo vệ vì dữ liệu đã lưu không nhất thiết còn phản ánh chính xác filesystem hiện tại.

ncdu 2.6 trở lên còn hỗ trợ định dạng nhị phân nén bằng tùy chọn -O:

ncdu -1xO scan.ncdu /
ncdu -f scan.ncdu

Phân tích máy chủ từ xa qua SSH

Nếu ncdu được cài trên cả máy chủ và máy cục bộ, bạn có thể quét từ xa rồi duyệt kết quả trên máy của mình:

ssh user@server 'ncdu -co- /var' | ncdu -f-

Cách này hữu ích khi kết nối SSH có độ trễ cao: quá trình quét diễn ra trên máy chủ, còn giao diện duyệt chạy cục bộ.

Một phương án dễ kiểm soát hơn là lưu kết quả thành file:

ssh user@server 'ncdu -o- /var' > server-scan.json
ncdu -f server-scan.json

ncdu khác gì với du?

Tiêu chí du ncdu
Có sẵn trên hầu hết hệ thống UnixCóThường phải cài thêm
Giao diện tương tácKhôngCó
Duyệt vào từng thư mụcPhải chạy lại lệnhThao tác trực tiếp
Phù hợp với scriptRất phù hợpCó thể xuất dữ liệu
Xóa file từ giao diệnKhôngCó
Điều tra sự cố thủ côngTrung bìnhThuận tiện

du phù hợp với script và tự động hóa, còn ncdu thuận tiện hơn khi cần khám phá dữ liệu theo cách tương tác. Hai công cụ bổ trợ cho nhau thay vì thay thế hoàn toàn.

Các lệnh ncdu hữu ích

# Quét thư mục hiện tại
ncdu

# Quét thư mục /var
ncdu /var

# Quét phân vùng gốc, không đi sang filesystem khác
ncdu -x /

# Quét toàn hệ thống ở chế độ chỉ đọc
sudo ncdu -r -x /

# Không quét node_modules và .git
ncdu --exclude node_modules --exclude .git .

# Hiển thị thêm quyền, chủ sở hữu và thời gian sửa đổi
ncdu -e /var

# Quét bằng 8 luồng trên ncdu 2.x
ncdu -t8 /var

# Xuất và mở lại kết quả
ncdu -o scan.json /var
ncdu -f scan.json

Câu hỏi thường gặp về ncdu

ncdu có dùng được trên Windows không?

ncdu chủ yếu dành cho hệ thống tương thích POSIX. Trên Windows, cách thuận tiện nhất thường là sử dụng ncdu bên trong WSL hoặc môi trường Unix tương thích.

Vì sao tổng dung lượng trong ncdu khác với kích thước file?

Mặc định ncdu hiển thị dung lượng thực tế trên đĩa. File thưa, block filesystem, hard link và metadata có thể làm dung lượng thực tế khác kích thước biểu kiến. Nhấn a để chuyển giữa hai cách hiển thị.

Xóa file trong ncdu có vào thùng rác không?

Chức năng xóa tích hợp thường xóa trực tiếp sau khi xác nhận. Nếu chưa chắc chắn, hãy chạy ncdu với -r, ghi lại đường dẫn rồi xử lý bằng quy trình sao lưu hoặc công cụ quản trị phù hợp.

Kết luận

ncdu là công cụ nhỏ gọn nhưng rất hiệu quả khi cần tìm nguyên nhân khiến ổ đĩa đầy. Giao diện Terminal trực quan giúp quản trị viên nhanh chóng xác định thư mục lớn, lần theo dữ liệu bất thường và đưa ra quyết định dọn dẹp chính xác hơn.

Trong môi trường máy chủ, lệnh khởi đầu an toàn được khuyến nghị là:

sudo ncdu -r -x /

Lệnh này kiểm tra phân vùng gốc, không đi sang filesystem khác và không cho phép xóa trực tiếp trong giao diện. Sau khi xác định được nguyên nhân, hãy kiểm tra bản sao lưu và tình trạng ứng dụng trước khi xóa hoặc di chuyển dữ liệu.

Tài liệu tham khảo

Xem thêm hướng dẫn sử dụng ncdu chính thức để tra cứu đầy đủ tùy chọn, phím điều khiển và định dạng xuất dữ liệu.

Đọc tiếp

Bài viết liên quan

Yêu cầu tư vấn

Để lại thông tin, Newnet sẽ liên hệ lại với bạn trong thời gian sớm nhất.