Theo dõi dung lượng ổ đĩa trên Linux bằng ncdu

Tác giả: 29/11/2022

Chúng ta đều biết rằng, trong hệ điều hành Linux/Unix, lệnh du cho người sử dụng kiểm tra được dung lượng của đường dẫn/thư mục/tệp tin. Nó giúp ta theo dõi và liệt kê đường dẫn và tệp tin đang chiếm bao nhiêu dung lượng trên ổ cứng của máy tính hoặc server. Trong bài viết này, Nhân Hòa sẽ giới thiệu với các bạn 1 phiên bản khác dựa trên du đó là ncdu.

Ncdu là 1 công cụ phân tích tình trạng sử dụng dung lượng ổ cứng với giao diện ncurse (giao diện người dùng dựa trên văn bản). Hãy cùng cài đặt và tìm hiểu cách sử dụng ncdu để xem nó có xứng đáng để cài đặt trên các máy chủ không nhé.

 

Cài đặt ncdu trên Linux

Với Debian/Ubuntu:

sudo apt install ncdu

Với Alpine Linux:

apk add ncdu ncdu-doc

Với Arch Linux:

sudo pacman -S ncdu

Với OpenSUSE/SUSE Linux:

sudo zypper in ncdu

Với CentOS/RHEL Linux:

sudo yum install ncdu

Với Fedora Linux:

sudo dnf install ncdu

Với MacOS:

# Nếu Homebrew đã được cài đặt
brew install ncdu
# Hoặc sử dụng macports
sudo port install ncdu

ncdu_install.png

Cách sử dụng lệnh ncdu

Cú pháp cơ bản của ncdu là:

ncdu
ncdu [option] [directories]

Những thành phần ở trong ngoặc vuông là không bắt buộc. Khi sử dụng với không tùy chọn hoặc tham số nào, ncdu cho ra kết quả là tên và dung lượng của toàn bộ file/folder ở đường dẫn hiện tại. Ảnh dưới đây thể hiện việc sử dụng ncdu ở root directory:

ncdu_basic.png

Sau đó, bạn có thể ấn “q” để trở về giao diện command line. Ncdu có thể đọc được thông tin của bất kỳ đường dẫn nào. Ví dụ

ncdu /etc/
ncdu /tmp/
ncdu /nfs
ncdu $HOME

Các tùy chọn trong ncdu

Bật chế độ thông tin mở rộng với:

ncdu -e

Khi bạn muốn scan toàn bộ file hệ thống, hãy sử dụng:

sudo ncdu -x /

Trong 1 hệ thống Linux/Unix lớn, việc scan toàn bộ file hệ thống sẽ tốn 1 khoảng thời gian, do đó bạn có thể trích xuất kết quả scan ra 1 file để kiểm tra:

sudo ncdu -1xo- / | gzip >my_root_export.gz

Sau đó, bạn có thể sử dụng zcommands để đọc file văn bản nén, ví dụ:

zcat my_root_export.gz | ncdu -f-

Tùy chọn “-f” sẽ đọc file mà trước đó đã được tạo bởi tùy chọn “-o”.

Ncdu cũng cho phép kiểm tra dung lượng của hệ thống từ xa với lệnh ssh:

ssh -C root@192.168.1.2 ncdu -o- / | ncdu -f-

Ta có thể loại trừ tệp mà phù hợp với 1 mẫu nào đó, ví dụ:

ncdu --exclude '*.c'
ncdu -x --exclude '/dir1' --exclude '/dir2' /

Tùy chọn sau giúp ncdu tính toán cả dung lượng của đường dẫn mà symlinks trỏ đến:

ncdu -L

Tổng kết

Trong bài viết này, Nhân Hòa đã giới thiệu với các bạn 1 công cụ thay thế để tìm kích thước của tệp và cây thư mục với giao diện TUI. Tuy nhiên, công cụ này không được cài đặt mặc định ở các bản phát hành của Linux/Unix và cũng không phải thiết yếu trên máy chủ. Mặc dù vậy, ncdu vẫn cung cấp những thông tin mà lệnh du đọc được ở 1 định dạng gọn gàng và dễ đọc. Do đó, chúng ta vẫn hoàn toàn có thể sử dụng ncdu trên các máy trạm hoặc máy chủ để kiểm tra không gian trống.

Hẹn gặp lại các bạn ở những bài viết sau về Linux cùng Nhân Hòa

Trả lời