Theo dõi dung lượng ổ đĩa trên Linux bằng ncdu
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
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:
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