Các lệnh xem ổ đĩa trên CentOS / Linux
Hướng dẫn các lệnh xem ổ đĩa trên CentOS/Linux: df -h, lsblk, fdisk -l và du -sh kèm ví dụ output, bảng so sánh và mẹo vặt.
Khi quản trị VPS hoặc máy chủ CentOS, kiểm tra ổ đĩa là tác vụ gần như hằng ngày: xem còn bao nhiêu dung lượng trống, phân vùng nào đang đầy, ổ cứng nào đang gắn trên hệ thống. Bài viết này tổng hợp 4 lệnh cốt lõi mà bạn cần nắm chắc: df -h, lsblk, fdisk -l và du -sh — kèm ví dụ output thực tế và gợi ý dùng lệnh nào cho từng tình huống.
Khi Nào Cần Xem Ổ Đĩa?
Website/Service báo lỗi
No space left on device: Cầndf -hđể xác định phân vùng nào đang đầy.Cần biết hệ thống đang có những ổ cứng, phân vùng nào: Dùng
lsblkđể xem tổng quan dạng cây.Cần chi tiết bảng phân vùng, sector, loại GPT/MBR: Dùng
fdisk -l.Cần tìm thư mục nào đang "ngốn" nhiều dung lượng: Dùng
du -shkết hợpsort.
Tổng Quan Nhanh Các Lệnh
df -h
Dung lượng đã dùng và còn trống của các phân vùng đang mount
Không
lsblk
Danh sách ổ đĩa và phân vùng dạng cây phân cấp
Không
fdisk -l
Chi tiết tất cả ổ cứng và bảng phân vùng (sector, boot flag...)
Có
du -sh
Dung lượng thực tế mà một thư mục cụ thể chiếm dụng
Tùy thư mục
1. df -h — Xem Dung Lượng Đã Dùng Và Còn Trống
df (disk free) hiển thị dung lượng trên các filesystem đang được mount. Tùy chọn -h (human-readable) giúp hiển thị kích thước theo định dạng dễ đọc như GB, MB thay vì số block thô.
df -hVí dụ output:
Filesystem: Tên device hoặc filesystem (ví dụ
/dev/sda2,tmpfs).Size: Tổng dung lượng của phân vùng.
Used: Dung lượng đã sử dụng.
Avail: Dung lượng còn trống.
Use%: Phần trăm đã sử dụng — chú ý phân vùng nào gần 100%.
Mounted on: Điểm mount (thư mục gốc của phân vùng).
Các tùy chọn hữu ích
-T (--print-type): Hiển thị thêm cột Type (xfs, ext4, tmpfs...) — rất hữu ích khi cần biết filesystem đang dùng.
-i (--inodes): Hiển thị thông tin inode thay vì dung lượng — dùng khi nghi ngờ hết inode.
-t TYPE: Chỉ hiển thị filesystem loại TYPE, ví dụ
df -t xfs.-x TYPE: Loại trừ loại filesystem, ví dụ
df -x tmpfsđể bỏ qua tmpfs cho output gọn hơn.
2. lsblk — Xem Danh Sách Ổ Đĩa Và Phân Vùng Dạng Cây
lsblk (list block devices) đọc thông tin trực tiếp từ kernel và hiển thị danh sách ổ đĩa cùng phân vùng dưới dạng cây phân cấp trực quan — ổ đĩa vật lý là cấp cao nhất, các phân vùng nằm bên dưới. Lệnh này không cần quyền root và là lựa chọn đầu tiên khi cần cái nhìn tổng quan nhanh.
Ví dụ output:
NAME: Tên device rút gọn (
sda,sda1...).MAJ:MIN: Số major/minor của device.
RM: Removable device (1 = thiết bị tháo rời như USB).
SIZE: Kích thước ổ đĩa/phân vùng.
RO: Read-only (1 = chỉ đọc).
TYPE: Loại device —
disk(ổ đĩa vật lý),part(phân vùng),rom(ổ đĩa quang).MOUNTPOINT: Thư mục đang mount,
[SWAP]nếu là phân vùng swap.
Các tùy chọn hữu ích
-f: Hiển thị thêm filesystem type và UUID — rất cần khi cấu hình
/etc/fstab.-p: Hiển thị đường dẫn đầy đủ (
/dev/sda1) thay vì tên rút gọn.-m: Hiển thị ownership và permission của device.
-a: Hiển thị cả các device rỗng (không có phân vùng).
3. fdisk -l — Xem Chi Tiết Ổ Đĩa Và Bảng Phân Vùng
fdisk là công cụ quản lý partition table kinh điển trên Linux. Tùy chọn -l (list) liệt kê tất cả ổ cứng và phân vùng kèm thông tin chi tiết về sector, kích thước và loại phân vùng. Lệnh này yêu cầu quyền root.
Ví dụ output:
Disk model: Model ổ cứng (hữu ích trên máy vật lý).
Disklabel type: Loại bảng phân vùng —
dos(MBR) hoặcgpt(GPT).Device: Tên phân vùng.
Boot: Dấu
*đánh dấu phân vùng boot.Start/End/Sectors: Vị trí và số sector — dùng khi khôi phục dữ liệu hoặc phân tích chi tiết.
Id/Type: Mã và loại phân vùng (
83= Linux,82= Linux swap).
Các biến thể thường dùng
fdisk -l cần quyền root — luôn chạy với sudo. Khi dùng fdisk ở chế độ tương tác (không có -l) để thao tác ghi, hãy hết sức cẩn thận vì thay đổi partition table có thể làm mất dữ liệu.
4. du -sh — Kiểm Tra Dung Lượng Thực Tế Của Thư Mục
du (disk usage) tính toán dung lượng mà các file và thư mục đang chiếm dụng. Tùy chọn -s (summarize) chỉ hiển thị tổng dung lượng, kết hợp -h (human-readable) để đọc dễ dàng. Đây là lệnh quan trọng nhất khi cần tìm "thủ phạm" chiếm dung lượng.
Ví dụ output:
Các tùy chọn hữu ích
-s (--summarize): Chỉ hiển thị tổng dung lượng, không liệt kê từng thư mục con.
-h (--human-readable): Hiển thị kích thước theo K, M, G.
-a (--all): Hiển thị cả file lẫn thư mục con.
--max-depth=N: Hiển thị cây thư mục con tới độ sâu N.
Tìm thư mục chiếm nhiều dung lượng nhất
Kết hợp du với sort và head để tìm nhanh 10 thư mục "ngốn" dung lượng nhất:
Phân Biệt df Và du
Hai lệnh này dễ gây nhầm lẫn vì đều hiển thị dung lượng, nhưng bản chất khác nhau:
df đo ở mức filesystem đang mount (block-level) — đọc trực tiếp metadata của filesystem. Kết quả phản ánh dung lượng thực tế mà phân vùng cấp phát, không cần quét từng file. Nhanh, chính xác cho câu hỏi "phân vùng còn bao nhiêu?".
du quét từng file và thư mục trên đĩa, cộng dồn kích thước lại. Kết quả chậm hơn nhưng trả lời đúng câu hỏi "thư mục này đang chiếm bao nhiêu?". Lưu ý: file đã bị xóa nhưng process còn giữ handle vẫn chiếm dung lượng — lúc này df vẫn báo đầy dù du không thấy.
Khi đã xóa file mà df -h vẫn báo phân vùng đầy, nguyên nhân thường là một process vẫn đang giữ file đã xóa. Kiểm tra bằng lsof | grep deleted rồi restart process đó.
Lệnh Nào Dùng Khi Nào?
Còn bao nhiêu dung lượng trống trên server?
df -h
Hệ thống đang có những ổ cứng, phân vùng nào?
lsblk
Cần UUID và filesystem type để mount (cấu hình /etc/fstab)
lsblk -f hoặc sudo blkid
Cần chi tiết bảng phân vùng, sector, boot flag
sudo fdisk -l
Thư mục nào chiếm nhiều dung lượng nhất?
du -sh /path kết hợp sort -rh
Phân vùng đang đầy, tìm file lớn
df -h → find / -xdev -type f -size +100M -exec ls -lh {} \;
Mẹo Vặt
Theo dõi liên tục:
watch -n 5 df -htự cập nhật kết quả mỗi 5 giây — hữu ích khi đang theo dõi dung lượng biến động.Bỏ qua tmpfs cho output gọn:
df -h -x tmpfs -x devtmpfs.Kiểm tra inode khi disk còn trống nhưng báo đầy:
df -i— hết inode cũng gây lỗi "No space left on device".Tìm các file lớn hơn 100MB:
find / -xdev -type f -size +100M -exec ls -lh {} \; 2>/dev/null.Phát hiện file đã xóa nhưng còn giữ:
lsof +L1liệt kê các file bị xóa mà process vẫn đang mở.Trên CentOS: tất cả các lệnh trên đều có sẵn trong bộ
coreutils/util-linux, không cần cài đặt thêm gói nào.
Kết Luận
Bốn lệnh trên tạo thành bộ công cụ đủ để xử lý hầu hết tình huống liên quan đến ổ đĩa trên CentOS/Linux: df -h cho câu hỏi dung lượng còn trống, lsblk cho cái nhìn tổng quan cấu trúc ổ đĩa, fdisk -l khi cần chi tiết bảng phân vùng, và du -sh khi phải tìm thủ phạm chiếm dung lượng. Hãy bắt đầu với df -h + lsblk cho kiểm tra nhanh hằng ngày, và dành fdisk -l + du cho các ca "khó chịu" hơn. Chúc bạn quản trị hệ thống hiệu quả!
Tài liệu tham khảo
Cập nhật lần cuối