ncdu là một tiện ích dòng lệnh mạnh mẽ giúp bạn dễ dàng phân tích và quản lý dung lượng ổ đĩa trên các hệ thống Linux, đặc biệt hữu ích cho VPS/Server. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết về cách cài đặt ncdu trên các bản phân phối Linux phổ biến và hướng dẫn sử dụng công cụ này để kiểm tra và tối ưu hóa không gian lưu trữ.
Những điểm chính
- Định nghĩa ncdu: Hiểu rõ ncdu là gì, giao diện ncurses hoạt động ra sao và tại sao đây là công cụ không thể thiếu để phân tích dung lượng ổ cứng và quản lý máy chủ hiệu quả trên VPS/Server.
- Hướng dẫn cài đặt chi tiết: Nắm vững các bước cài đặt ncdu trên Ubuntu, CentOS/RHEL/Fedora và các Linux Distributions khác một cách dễ dàng.
- Cách sử dụng hiệu quả: Biết cách sử dụng ncdu để quét, điều hướng và thao tác với thư mục, file, giúp bạn kiểm soát không gian lưu trữ và quản trị hệ thống Linux từ dòng lệnh.
- Mẹo tối ưu và giải pháp thực chiến: Khám phá các mẹo thực tế để tối ưu hóa việc sử dụng ncdu và giải pháp hiệu quả khi VPS/Server của bạn gặp tình trạng đầy ổ đĩa, cải thiện tối ưu hóa VPS.
- Giải đáp thắc mắc thường gặp: Được giải đáp các câu hỏi phổ biến về ncdu, từ tính an toàn khi xóa file đến so sánh với các công cụ thay thế ncdu như du, df.
ncdu là gì?
ncdu (NCurses Disk Usage) là công cụ mạnh mẽ giúp phân tích và thống kê dung lượng ổ cứng trên các hệ điều hành Linux. So với các lệnh truyền thống như df hay du, ncdu cung cấp một giao diện trực quan, cho phép người dùng dễ dàng xác định các thư mục và tập tin đang chiếm nhiều dung lượng nhất. Điểm đặc biệt của ncdu là sử dụng giao diện ncurses, cho phép bạn tương tác với cây thư mục ngay trong terminal. Nhờ vậy, bạn có thể dễ dàng điều hướng, xem và xóa các file chiếm dụng nhiều không gian.

Lợi ích khi sử dụng ncdu cho quản trị VPS/Server
Trong quá trình quản trị hệ thống, việc ổ đĩa bị đầy mà không rõ nguyên nhân là một vấn đề rất phổ biến. ncdu chính là công cụ giải quyết triệt để tình trạng này.
- Xác định nhanh chóng: Giúp bạn tìm ra ngay lập tức file hoặc thư mục nào đang chiếm nhiều dung lượng nhất.
- Giao diện trực quan: Cung cấp chế độ xem dạng cây (tree view) dễ điều hướng hơn so với lệnh du truyền thống.
- Tương tác dễ dàng: Cho phép bạn đi sâu vào các thư mục con, xem thông tin chi tiết và thậm chí xóa tệp/thư mục trực tiếp từ giao diện.
- Quản lý hiệu quả: Giúp bạn dọn dẹp, tối ưu hóa không gian lưu trữ, giúp duy trì hiệu suất hoạt động ổn định cho VPS/Server.
- Tiết kiệm thời gian: So với việc phải gõ một chuỗi lệnh
du,sortvàheadđể có kết quả tương tự, giao diện tương tác của ncdu giúp bạn tiết kiệm rất nhiều thời gian xử lý sự cố.

Hướng dẫn cài đặt ncdu trên các hệ điều hành Linux phổ biến
Cài đặt ncdu trên Ubuntu/Debian
Trước khi cài đặt bất kỳ phần mềm nào, bạn nên cập nhật danh sách gói của hệ thống:
sudo apt updateTiếp đó bạn sử dụng lệnh sau để cài đặt ncdu từ kho lưu trữ mặc định của Ubuntu/Debian.
sudo apt install ncduCài đặt ncdu trên CentOS/RHEL/Fedora
Trên CentOS/RHEL, ncdu không có sẵn trong kho lưu trữ mặc định. Bạn cần cài đặt kho EPEL (Extra Packages for Enterprise Linux) trước.
Với CentOS 7
Bạn cài đặt kho EPEL bằng lệnh sau:
sudo yum install epel-releaseTiếp theo, bạn tiến hành lệnh dưới đây để cài đặt ncdu:
sudo yum install ncduVới CentOS 8+, RHEL, Fedora
Để cài đặt kho EPEL, bạn chạy lệnh sau:
sudo dnf install epel-releaseTiếp theo, bạn chạy lệnh sau để cài đặt ncdu:
sudo dnf install ncduCài đặt ncdu trên Alpine/Arch/OpenSUSE/FreeBSD
Đối với hệ điều hành Alpine Linux, bạn chạy lệnh sau:
apk add ncduĐối với Arch Linux, bạn thực thi lệnh dưới đây:
pacman -S ncduBạn chạy lệnh sau đối với OpenSUSE:
sudo zypper in ncduĐối với hệ điều hành FreeBSD, bạn thực thi lệnh dưới đây:
sudo pkg install ncduCác thao tác sử dụng ncdu cơ bản
Các phím tắt tương tác hữu ích
Khi đã ở trong giao diện của NCDU, bạn có thể sử dụng các phím tắt sau để điều hướng và quản lý kết quả phân tích một cách nhanh chóng.
| Phím tắt | Chức năng |
|---|---|
| Phím mũi tên, j, k | Di chuyển con trỏ lên và xuống trong danh sách. |
| Phím phải, Enter | Đi vào thư mục đang được chọn để xem chi tiết bên trong. |
| Phím trái, <, h | Quay trở lại thư mục cha. |
| n | Sắp xếp danh sách theo Tên tệp tin/thư mục (tăng/giảm dần). |
| s | Sắp xếp danh sách theo Kích thước (tăng/giảm dần). |
| c | Sắp xếp danh sách theo Số lượng mục con (tăng/giảm dần). |
| d | Xóa tệp tin hoặc thư mục đang được chọn (sẽ có yêu cầu xác nhận). |
| t | Chuyển đổi chế độ hiển thị: luôn đặt thư mục lên trên tệp tin. |
| g | Chuyển đổi giữa các chế độ hiển thị: thanh phần trăm, số phần trăm, hoặc không hiển thị. |
| a | Chuyển đổi giữa việc hiển thị kích thước thực tế và dung lượng chiếm dụng trên đĩa. |
| e | Ẩn hoặc hiện các tệp tin và thư mục ẩn (bắt đầu bằng dấu chấm). |
| i | Hiển thị cửa sổ thông tin chi tiết về mục đang được chọn. |
| r | Thực hiện quét lại và làm mới thông tin cho thư mục hiện tại. |
| b | Chuyển đổi giữa các đơn vị dung lượng (nhị phân KiB/MiB hoặc thập phân KB/MB). |
| q | Thoát khỏi chương trình NCDU. |
| ? (Shift + ?) | Hiển thị màn hình trợ giúp với danh sách đầy đủ các phím tắt |
Các tùy chọn nâng cao thường dùng
- –exclude <path> : Tùy chọn này cho phép bạn loại trừ một đường dẫn khỏi quá trình quét, phù hợp để bỏ qua các hệ thống file ảo không cần thiết.
ncdu --exclude /proc --exclude /sys /
- -o <file>: Tùy chọn này sẽ xuất kết quả quét ra một file để xem lại sau này mà không cần quét lại từ đầu.
ncdu -o /tmp/disk_usage.gz /
- -f <file>: Tải và hiển thị kết quả từ một file đã xuất trước đó.
ncdu -f /tmp/disk_usage.gz
Quét một thư mục cụ thể và bỏ qua các phân vùng khác
Để quét toàn bộ hệ thống tệp tin gốc (/) mà không bao gồm các phân vùng được gắn kết khác, bạn sử dụng tùy chọn -x. Việc này giúp quá trình quét diễn ra nhanh hơn và tập trung vào đúng hệ thống bạn cần phân tích.
sudo ncdu -x /

Lưu kết quả quét ra tệp tin để xem lại sau
Đối với các hệ thống có dung lượng lớn, quá trình quét có thể mất nhiều thời gian. Để tránh phải quét lại mỗi khi cần xem, bạn có thể lưu kết quả ra một tệp tin đã được nén.
sudo ncdu -xo- / | gzip > phan_tich_o_cung.gz
Sau đó, để đọc lại tệp tin này, bạn sử dụng lệnh:
zcat phan_tich_o_cung.gz | ncdu -f-
Phân tích dung lượng của máy chủ từ xa qua SSH
Phân tích dung lượng của máy chủ từ xa qua SSH là một trong những tính năng mạnh mẽ nhất của NCDU, cho phép bạn phân tích dung lượng của một máy chủ từ xa ngay trên máy tính của mình mà không cần cài đặt thêm gì.
ssh -C user@dia_chi_ip_server ncdu -o- / | ncdu -f-
Mẹo sử dụng ncdu hiệu quả
- Quét các thư mục quan trọng trước: Khi gặp sự cố đầy ổ đĩa, bạn hãy ưu tiên quét các thư mục thường chứa file rác hoặc log lớn như
/var/log,/tmp,/home, hoặc các thư mục chứa backup. - Kiểm tra định kỳ: Bạn nên chạy
ncduđịnh kỳ để theo dõi và dọn dẹp hệ thống. - Kết hợp với lệnh khác: Sau khi dùng
ncduđể xác định các file log cũ, bạn có thể kết hợp với lệnhfindđể tự động hóa việc dọn dẹp. - Luôn cẩn trọng khi xóa: Hãy chắc chắn về file/thư mục bạn định xóa, đặc biệt là các file trong thư mục hệ thống như
/usrhay/lib.

Cách tối ưu dung lượng ổ đĩa cạn kiệt
Sau khi dùng ncdu để xác định nguyên nhân, đây là các bước bạn nên thực hiện:
- Dọn dẹp: Xóa các file không cần thiết như logs cũ, file tạm, cache ứng dụng, các bản backup đã quá cũ.
- Lưu trữ hoặc nén: Đối với các dữ liệu quan trọng nhưng ít truy cập, bạn có thể nén lại hoặc di chuyển sang một dịch vụ lưu trữ đám mây để giải phóng không gian trên VPS.
- Nâng cấp: Nếu nhu cầu sử dụng của bạn thực sự tăng lên và việc dọn dẹp không còn hiệu quả, giải pháp bền vững nhất là nâng cấp gói VPS/Server lên một gói có dung lượng ổ đĩa lớn hơn. Vietnix hiện đang cung cấp nhiều giải pháp VPS, server với dung lượng lớn và chi phí hợp lý, đáp ứng mọi nhu cầu người dùng.
Câu hỏi thường gặp
ncdu có an toàn không khi xóa file?
An toàn, vì ncdu luôn hiển thị một hộp thoại yêu cầu bạn xác nhận trước khi xóa. Tuy nhiên, công cụ chỉ thực thi lệnh, nếu bạn xóa nhầm file hệ thống thì vẫn có thể gây ra lỗi nghiêm trọng.
Có thể cài ncdu trên Windows không?
Bạn không thể cài đặt trực tiếp trên Windows gốc. Tuy nhiên, bạn có thể sử dụng ncdu thông qua WSL, một môi trường cho phép chạy các công cụ dòng lệnh của Linux ngay trên Windows.
ncdu có miễn phí không?
Có, ncdu là một phần mềm mã nguồn mở và hoàn toàn miễn phí.
ncdu có quét được các ổ đĩa gắn ngoài hoặc NFS mount không?
Có với điều kiện là ổ đĩa hoặc thư mục mạng đó đã được mount (gắn) vào cây thư mục của hệ điều hành và bạn có đủ quyền đọc, ncdu sẽ quét nó như một thư mục thông thường. Ví dụ: ncdu /mnt/external_drive.
ncdu là công cụ đơn giản nhưng mạnh mẽ, giúp quản trị viên xác định nhanh các thư mục, tệp chiếm nhiều dung lượng và tối ưu ổ đĩa VPS/Server. Hy vọng bài viết này đã giúp bạn biết cách cài đặt ncdu trên VPS hoặc máy chủ của mình. Nếu bạn đang tìm kiếm thêm kiến thức và thủ thuật để tối ưu hóa việc quản trị VPS thì có thể tham khảo một số bài viết dưới đây:




