For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 -ldu -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ần df -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 -sh kết hợp sort.

Tổng Quan Nhanh Các Lệnh

Lệnh
Chức năng chính
Cần root?

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...)

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ô.

Xem dung lượng các phân vùng đang mount
df -h

Ví 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.

df chỉ thống kê các filesystem đang mount, không phải dung lượng vật lý của ổ cứng. Muốn xem cấu trúc ổ cứng thực tế, hãy dùng lsblk hoặc fdisk -l.

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).

Nhận biết USB drive bằng cột RM — nếu giá trị là 1 thì đó là thiết bị tháo rời được, không phải ổ cứng gắn trong.

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ặc gpt (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

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 sorthead để tìm nhanh 10 thư mục "ngốn" dung lượng nhất:

Thêm 2>/dev/null để bỏ qua các thư mục không có quyền đọc — tránh output bị "phủ" bởi các thông báo lỗi Permission denied.

Phân Biệt dfdu

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.

Lệnh Nào Dùng Khi Nào?

Tình huống
Lệnh gợi ý

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 -hfind / -xdev -type f -size +100M -exec ls -lh {} \;

Mẹo Vặt

  • Theo dõi liên tục: watch -n 5 df -h tự 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 +L1 liệ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