Lệnh df: kiểm tra dung lượng ổ đĩa với các tùy chọn -h, -T và -i
Lệnh df là lệnh Linux hiển thị tổng dung lượng, phần đã dùng, phần còn trống và tỷ lệ sử dụng của từng hệ thống tệp đã gắn kết, mỗi hệ thống tệp trên một dòng. Sau khi chạy df lần lượt với các tùy chọn -h, -T, -i, --output và -x trên máy chủ AlmaLinux 9 và máy chủ Debian 12 rồi so sánh kết quả, dung lượng ổ đĩa được kiểm tra ở cột Use%, còn giới hạn số tệp được kiểm tra ở cột IUse% của df -i.
Trong kết quả của máy chủ AlmaLinux 9.8, tên thiết bị, dung lượng ổ đĩa cùng kích thước và mức dùng của tmpfs phụ thuộc vào dung lượng bộ nhớ đã được thay bằng giá trị ví dụ khớp với nhau, và các dòng gắn kết chỉ có trên máy chủ đó đã được bỏ đi. Đường dẫn thư mục ghi trong lệnh cũng là giá trị ví dụ, còn kết quả của máy chủ Debian 12 được giữ nguyên.
1️⃣ Cách dùng lệnh df trên Linux
Dạng cơ bản là [df tùy_chọn tệp]. Nếu không ghi tệp, df hiển thị mọi hệ thống tệp đã gắn kết; nếu không có tùy chọn, kích thước được tính bằng số khối 1.024 byte.
dfFilesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 1890316 0 1890316 0% /dev
tmpfs 1921072 0 1921072 0% /dev/shm
tmpfs 768432 17104 751328 3% /run
efivarfs 128 4 120 4% /sys/firmware/efi/efivars
/dev/sda4 52403180 10265000 42138180 20% /
/dev/sda3 983040 319488 663552 33% /boot
/dev/sda2 204580 7116 197464 4% /boot/efi
tmpfs 384212 4 384208 1% /run/user/0Đầu ra có sáu cột, nội dung từng cột như bảng dưới đây.
| Mục | Nội dung |
|---|---|
| Filesystem | Tên thiết bị hoặc tên hệ thống tệp (tmpfs, v.v.) |
| 1K-blocks | Tổng dung lượng (số khối 1.024 byte) · thêm -h thì là Size |
| Used | Dung lượng đã dùng |
| Available | Dung lượng còn trống · thêm -h thì là Avail |
| Use% | Tỷ lệ sử dụng · Used ÷ (Used + Available), làm tròn lên |
| Mounted on | Điểm gắn kết (thư mục mà hệ thống tệp được nối vào) |
Việc nối một thiết bị vào một thư mục được gọi là gắn kết ổ đĩa, và để tự động nối mỗi lần khởi động, hãy ghi nó vào /etc/fstab.
Khi tính lại từng dòng trong kết quả của máy chủ AlmaLinux 9.8, Use% bằng Used chia cho tổng Used và Available rồi làm tròn lên. Với thư mục gốc (/) trong kết quả trên, 10265000 chia 52403180 được 19,6%, hiển thị thành 20%.
df nằm trong gói coreutils. Phiên bản được kiểm tra ở dòng đầu của [df --version]: coreutils 8.32 trên máy chủ AlmaLinux 9.8 và 9.1 trên máy chủ Debian 12.
df --version | head -n 1df (GNU coreutils) 8.32df --version | head -n 1df (GNU coreutils) 9.12️⃣ Tùy chọn df -h
-h gom kích thước theo đơn vị 1.024 và hiển thị kèm K, M hoặc G.
df -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/052403180 khối 1K của thư mục gốc (/) thành 50G, còn 10265000 đã dùng thành 9.8G. Các số được làm tròn lên; giá trị dưới 10 có một chữ số thập phân như 9.8G, giá trị từ 10 trở lên là số nguyên như 50G.
-H gom theo đơn vị 1.000 thay vì 1.024.
df -HFilesystem Size Used Avail Use% Mounted on
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 787M 18M 770M 3% /run
efivarfs 132k 3.9k 123k 4% /sys/firmware/efi/efivars
/dev/sda4 54G 11G 44G 20% /
/dev/sda3 1.1G 328M 680M 33% /boot
/dev/sda2 210M 7.3M 203M 4% /boot/efi
tmpfs 394M 4.1k 394M 1% /run/user/0Cùng thư mục gốc đó hiển thị 54G với -H, lớn hơn khi dùng -h, và đơn vị kilo đổi thành chữ k thường như 132k.
Nếu ghi một tệp hoặc thư mục, df chỉ hiển thị một dòng của hệ thống tệp chứa đường dẫn đó.
df -h /root/workFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% //root/work là thư mục nằm trong thư mục gốc (/), nên dòng /dev/sda4 xuất hiện. Dung lượng mỗi thư mục chiếm được cộng dồn bằng Lệnh du.
Trên máy chủ Debian 12, ghi thư mục home (~) từ tài khoản thường cho ra một dòng /dev/vda2, tỷ lệ sử dụng là 52%.
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/vda2 23G 12G 11G 52% /3️⃣ df -T: loại hệ thống tệp
-T thêm cột Type sau Filesystem và hiển thị loại hệ thống tệp.
df -hTFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0Các phân vùng đĩa /dev/sda4 và /dev/sda3 là xfs, còn /boot/efi là vfat. tmpfs và devtmpfs là hệ thống tệp dùng bộ nhớ thay vì ổ đĩa.
Thư mục gốc của máy chủ Debian 12 là ext4.
df -hT ~Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 23G 12G 11G 52% /-t chỉ giữ lại loại được ghi, còn -x hiển thị mọi thứ trừ loại được ghi.
df -t xfs -hFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /bootKhi chạy với -t xfs, chỉ còn lại hai dòng xfs.
df -x tmpfs -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi-x tmpfs bỏ ba dòng tmpfs, còn devtmpfs có tên gần giống vẫn ở lại. Chỉ những dòng có tên loại trùng khớp hoàn toàn mới bị bỏ, nên muốn bỏ cả devtmpfs thì ghi -x thêm một lần nữa.
df -x tmpfs -x devtmpfs -hFilesystem Size Used Avail Use% Mounted on
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi4️⃣ df -i: mức dùng inode
inode là thông tin quản lý được dùng cho mỗi tệp và thư mục, mỗi thứ một cái. -i hiển thị số inode thay cho kích thước.
df -iFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 472579 377 472202 1% /dev
tmpfs 480268 2 480266 1% /dev/shm
tmpfs 819200 645 818555 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 26201024 98214 26102810 1% /
/dev/sda3 524288 362 523926 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 96053 21 96032 1% /run/user/0Inodes là tổng số có thể tạo, IUsed là số đã dùng, IFree là số còn lại và IUse% là tỷ lệ sử dụng. /boot/efi (vfat) và efivarfs có 0 inode nên IUse% hiển thị là -.
Mỗi tệp mới dùng một inode, nên khi IUse% chạm 100%, không thể tạo tệp mới dù Use% còn thấp. Với máy chủ tích tụ nhiều tệp nhỏ, hãy kiểm tra [df -h] và [df -i] cùng lúc.
Thêm cả -h thì số lượng cũng được gom theo đơn vị K và M, nên 26201024 của thư mục gốc hiển thị là 25M.
df -ihFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 462K 377 462K 1% /dev
tmpfs 470K 2 470K 1% /dev/shm
tmpfs 800K 645 800K 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 25M 96K 25M 1% /
/dev/sda3 512K 362 512K 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 94K 21 94K 1% /run/user/0Máy chủ Debian 12 đã dùng 188009 trong 6285088 inode, IUse% là 3%.
df -i ~Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda2 6285088 188009 6097079 3% /5️⃣ df --output: chọn cột đầu ra
--output quyết định trực tiếp các cột được hiển thị và thứ tự của chúng. Tên cột được ghi cách nhau bằng dấu phẩy, và có thể dùng mười hai tên trong bảng dưới đây (theo --help).
| Tên cột | Tiêu đề cột | Nội dung |
|---|---|---|
| source | Filesystem | Tên thiết bị / tên hệ thống tệp |
| fstype | Type | Loại hệ thống tệp |
| itotal | Inodes | Tổng số inode |
| iused | IUsed | Số inode đã dùng |
| iavail | IFree | Số inode còn trống |
| ipcent | IUse% | Tỷ lệ sử dụng inode |
| size | Size | Tổng dung lượng |
| used | Used | Dung lượng đã dùng |
| avail | Avail | Dung lượng còn trống |
| pcent | Use% | Tỷ lệ sử dụng |
| file | File | Tên tệp ghi trong lệnh |
| target | Mounted on | Điểm gắn kết |
df --output=source,fstype,size,used,avail,pcent,target -hFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0Ghi lần lượt bảy cột cho ra kết quả giống [df -hT].
df --output=target,pcent,avail -hMounted on Use% Avail
/dev 0% 1.9G
/dev/shm 0% 1.9G
/run 3% 734M
/sys/firmware/efi/efivars 4% 120K
/ 20% 41G
/boot 33% 648M
/boot/efi 4% 193M
/run/user/0 1% 376MGhi tên cột theo thứ tự target, pcent, avail thì điểm gắn kết đứng đầu, tiếp theo là tỷ lệ sử dụng và dung lượng còn trống theo đúng thứ tự đó.
--total thêm một dòng tổng ở cuối.
df -h --totalFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0
total 56G 11G 46G 19% -Dòng total là tổng của cả tám dòng phía trên, nên các hệ thống tệp dùng bộ nhớ như tmpfs cũng được cộng vào.
🔲 Trình mô phỏng lệnh df
Trong trình mô phỏng bên dưới, bạn có thể chạy df với -h, -H, -T, -i, -t, -x, --output và --total và xem các cột đầu ra thay đổi thế nào theo từng tùy chọn.
6️⃣ Lỗi của lệnh df
Ghi một đường dẫn không tồn tại cho ra [No such file or directory] và kết thúc với mã thoát 1.
df -h /nonexistent-dirdf: /nonexistent-dir: No such file or directoryNếu đưa cho -t một loại không có trên máy chủ, không còn dòng nào để hiển thị nên [no file systems processed] xuất hiện, và mã thoát là 1.
df -t nosuchfsdf: no file systems processedGhi tên cột không tồn tại cho --output thì tên đó xuất hiện trong thông báo lỗi.
df --output=bogusdf: option --output: field 'bogus' unknown
Try 'df --help' for more information.Ghi -i hoặc -T cùng với --output cho ra [mutually exclusive] và kết thúc với cùng mã thoát 1. Để xem inode hoặc loại bằng --output, hãy ghi tên cột như itotal và fstype.
df -i --outputdf: options -i and --output are mutually exclusive
Try 'df --help' for more information.🔢 FAQ & nội dung đề xuất
UUID
Lệnh blkid trên Linux | Khác biệt giữa UUID và GUID
Bài viết về cách kiểm tra loại hệ thống tệp và UUID của thiết bị khối bằng lệnh blkid.
Phân vùng
Cách thiết lập phân vùng trên Linux: lệnh gdisk
Bài viết về các bước tạo và xóa phân vùng trên ổ đĩa bằng lệnh gdisk.
ℹ️ Thông báo tiếp thị liên kết
Nội dung trên trang này có chứa liên kết affiliate (tiếp thị liên kết). Khi khách truy cập mua sản phẩm hoặc dịch vụ qua các liên kết này, trang sẽ nhận hoa hồng từ bên bán. Trong quá trình đó, số tiền người mua phải trả (sẽ giảm khi có chương trình khuyến mãi ↓) không hề tăng lên. Giá, khuyến mãi và tình trạng hàng được đăng theo thời điểm viết bài và có thể khác với thực tế, vì vậy hãy kiểm tra lại lần cuối với bên bán trước khi mua. Việc chọn và đánh giá sản phẩm dựa trên tiêu chí riêng của trang; việc có nhận hoa hồng hay không không ảnh hưởng đến thứ tự giới thiệu hay nội dung đánh giá.