คำสั่ง df: ตรวจสอบการใช้ดิสก์ด้วยตัวเลือก -h, -T และ -i
คำสั่ง df เป็นคำสั่ง Linux ที่แสดงขนาดทั้งหมด พื้นที่ที่ใช้ พื้นที่ว่าง และอัตราการใช้งานของระบบไฟล์ที่เมานต์ไว้ทีละบรรทัด หลังจากรัน df พร้อมตัวเลือก -h, -T, -i, --output และ -x ทีละตัวบนเซิร์ฟเวอร์ AlmaLinux 9 และเซิร์ฟเวอร์ Debian 12 แล้วเปรียบเทียบผลลัพธ์ จึงแยกตรวจพื้นที่ดิสก์ที่คอลัมน์ Use% และตรวจขีดจำกัดจำนวนไฟล์ที่คอลัมน์ IUse% ของ df -i
ในผลลัพธ์ของเซิร์ฟเวอร์ AlmaLinux 9.8 ได้เปลี่ยนชื่ออุปกรณ์ ขนาดดิสก์ และขนาดกับการใช้งานของ tmpfs ที่ขึ้นกับขนาดหน่วยความจำ เป็นค่าตัวอย่างที่สอดคล้องกัน และตัดบรรทัดเมานต์ที่มีเฉพาะบนเซิร์ฟเวอร์นั้นออก เส้นทางโฟลเดอร์ที่เขียนในคำสั่งก็เป็นค่าตัวอย่างเช่นกัน ส่วนผลลัพธ์ของเซิร์ฟเวอร์ Debian 12 นำมาตามจริง
1️⃣ วิธีใช้คำสั่ง df ใน Linux
รูปแบบพื้นฐานคือ [df ตัวเลือก ไฟล์] ถ้าไม่ระบุไฟล์จะแสดงระบบไฟล์ที่เมานต์ไว้ทั้งหมด และถ้าไม่มีตัวเลือกจะแสดงขนาดเป็นจำนวนบล็อกขนาด 1,024 ไบต์
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ผลลัพธ์มีหกคอลัมน์ เนื้อหาของแต่ละคอลัมน์เป็นไปตามตารางด้านล่าง
| ช่อง | เนื้อหา |
|---|---|
| Filesystem | ชื่ออุปกรณ์หรือชื่อระบบไฟล์ (เช่น tmpfs) |
| 1K-blocks | ขนาดทั้งหมด (จำนวนบล็อก 1,024 ไบต์) · ใส่ -h จะเป็น Size |
| Used | ขนาดที่ใช้ |
| Available | ขนาดที่ว่าง · ใส่ -h จะเป็น Avail |
| Use% | อัตราการใช้งาน · Used ÷ (Used + Available) ปัดขึ้น |
| Mounted on | จุดเมานต์ (โฟลเดอร์ที่ระบบไฟล์เชื่อมต่ออยู่) |
การเชื่อมอุปกรณ์เข้ากับโฟลเดอร์เรียกว่า การเมานต์ดิสก์ และถ้าต้องการให้เชื่อมอัตโนมัติทุกครั้งที่บูต ให้เขียนไว้ใน /etc/fstab
เมื่อคำนวณทีละบรรทัดจากผลลัพธ์ของเซิร์ฟเวอร์ AlmaLinux 9.8 พบว่า Use% เท่ากับ Used หารด้วยผลรวมของ Used กับ Available แล้วปัดขึ้น รูท (/) ในผลลัพธ์ด้านบน 10265000 หารด้วย 52403180 ได้ 19.6% และแสดงเป็น 20%
df อยู่ในแพ็กเกจ coreutils ตรวจเวอร์ชันจากบรรทัดแรกของ [df --version] ได้ว่าเซิร์ฟเวอร์ AlmaLinux 9.8 เป็น coreutils 8.32 และเซิร์ฟเวอร์ Debian 12 เป็น 9.1
df --version | head -n 1df (GNU coreutils) 8.32df --version | head -n 1df (GNU coreutils) 9.12️⃣ ตัวเลือก df -h
-h จัดกลุ่มขนาดเป็นหน่วย 1,024 แล้วแสดงพร้อม K, M หรือ 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/0บล็อก 1K ของรูท (/) จำนวน 52403180 กลายเป็น 50G และส่วนที่ใช้ 10265000 กลายเป็น 9.8G ตัวเลขเป็นค่าที่ปัดขึ้น ค่าที่น้อยกว่า 10 แสดงทศนิยมหนึ่งตำแหน่งแบบ 9.8G ส่วนค่าตั้งแต่ 10 ขึ้นไปแสดงเป็นจำนวนเต็มแบบ 50G
-H จัดกลุ่มเป็นหน่วย 1,000 แทน 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/0รูทเดียวกันแสดงเป็น 54G เมื่อใช้ -H ซึ่งมากกว่าตอนใช้ -h และหน่วยกิโลเปลี่ยนเป็น k ตัวเล็กแบบ 132k
ถ้าระบุไฟล์หรือโฟลเดอร์ df จะแสดงเพียงบรรทัดเดียวของระบบไฟล์ที่มีเส้นทางนั้นอยู่
df -h /root/workFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% //root/work เป็นโฟลเดอร์ที่อยู่ในรูท (/) จึงแสดงบรรทัดของ /dev/sda4 ส่วนขนาดที่แต่ละโฟลเดอร์ใช้ให้รวมด้วย คำสั่ง du ได้เลย
บนเซิร์ฟเวอร์ Debian 12 เมื่อระบุโฮมโฟลเดอร์ (~) จากบัญชีทั่วไป จะแสดงบรรทัดเดียวของ /dev/vda2 และอัตราการใช้งานเป็น 52%
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/vda2 23G 12G 11G 52% /3️⃣ df -T ชนิดของระบบไฟล์
-T เพิ่มคอลัมน์ Type ต่อจาก Filesystem และแสดงชนิดของระบบไฟล์
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/0พาร์ทิชันดิสก์ /dev/sda4 และ /dev/sda3 เป็น xfs ส่วน /boot/efi เป็น vfat ทั้ง tmpfs และ devtmpfs เป็นระบบไฟล์ที่ใช้หน่วยความจำแทนดิสก์
รูทของเซิร์ฟเวอร์ Debian 12 เป็น ext4
df -hT ~Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 23G 12G 11G 52% /-t จะเหลือเฉพาะชนิดที่ระบุ ส่วน -x จะแสดงทุกอย่างยกเว้นชนิดที่ระบุ
df -t xfs -hFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /bootเมื่อรันด้วย -t xfs เหลือเพียงสองบรรทัดที่เป็น 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 ตัดบรรทัด tmpfs ออกสามบรรทัด ส่วน devtmpfs ที่ชื่อคล้ายกันยังอยู่ เพราะจะตัดเฉพาะบรรทัดที่ชื่อชนิดตรงกันทุกตัวอักษร ถ้าต้องการตัด devtmpfs ด้วยให้เขียน -x อีกครั้ง
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 การใช้ inode
inode คือข้อมูลการจัดการที่ใช้ไฟล์ละหนึ่งตัวและโฟลเดอร์ละหนึ่งตัว -i จะแสดงจำนวน inode แทนขนาด
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 คือจำนวนทั้งหมดที่สร้างได้ IUsed คือจำนวนที่ใช้ IFree คือจำนวนที่เหลือ และ IUse% คืออัตราการใช้งาน /boot/efi ที่เป็น vfat และ efivarfs มีจำนวน inode เป็น 0 จึงแสดง IUse% เป็น -
ทุกครั้งที่สร้างไฟล์จะใช้ inode หนึ่งตัว เมื่อ IUse% ถึง 100% จะสร้างไฟล์ใหม่ไม่ได้แม้ Use% จะยังต่ำ ถ้าเป็นเซิร์ฟเวอร์ที่มีไฟล์เล็กสะสมจำนวนมาก ให้ตรวจ [df -h] และ [df -i] ไปพร้อมกัน
เมื่อใส่ -h ด้วย จำนวนก็ถูกจัดกลุ่มเป็นหน่วย K และ M โดย 26201024 ของรูทแสดงเป็น 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/0เซิร์ฟเวอร์ Debian 12 ใช้ inode ไป 188009 จาก 6285088 ตัว IUse% เป็น 3%
df -i ~Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda2 6285088 188009 6097079 3% /5️⃣ df --output กำหนดคอลัมน์ผลลัพธ์
--output กำหนดคอลัมน์ที่จะแสดงและลำดับได้โดยตรง เขียนชื่อคอลัมน์คั่นด้วยจุลภาค และใช้ได้สิบสองชื่อตามตารางด้านล่าง (อ้างอิง --help)
| ชื่อคอลัมน์ | หัวคอลัมน์ | เนื้อหา |
|---|---|---|
| source | Filesystem | ชื่ออุปกรณ์ / ชื่อระบบไฟล์ |
| fstype | Type | ชนิดของระบบไฟล์ |
| itotal | Inodes | จำนวน inode ทั้งหมด |
| iused | IUsed | จำนวน inode ที่ใช้ |
| iavail | IFree | จำนวน inode ที่เหลือ |
| ipcent | IUse% | อัตราการใช้ inode |
| size | Size | ขนาดทั้งหมด |
| used | Used | ขนาดที่ใช้ |
| avail | Avail | ขนาดที่ว่าง |
| pcent | Use% | อัตราการใช้งาน |
| file | File | ชื่อไฟล์ที่ระบุในคำสั่ง |
| target | Mounted on | จุดเมานต์ |
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/0เมื่อเขียนเจ็ดคอลัมน์ตามลำดับ ได้ผลลัพธ์เหมือน [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% 376Mเมื่อเขียนชื่อคอลัมน์ตามลำดับ target, pcent, avail จุดเมานต์จะขึ้นก่อน ตามด้วยอัตราการใช้งานและขนาดที่ว่างตามลำดับนั้น
--total เพิ่มบรรทัดผลรวมไว้ล่างสุด
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% -บรรทัด total เป็นผลรวมของแปดบรรทัดด้านบนทั้งหมด จึงรวมระบบไฟล์ที่ใช้หน่วยความจำอย่าง tmpfs เข้าไปด้วย
🔲 ตัวจำลองคำสั่ง df
ในตัวจำลองด้านล่าง คุณสามารถรัน df พร้อม -h, -H, -T, -i, -t, -x, --output และ --total แล้วดูว่าคอลัมน์ผลลัพธ์เปลี่ยนไปอย่างไรในแต่ละตัวเลือก
6️⃣ ข้อผิดพลาดของคำสั่ง df
เมื่อระบุเส้นทางที่ไม่มีอยู่ จะแสดง [No such file or directory] และจบด้วยรหัสออก 1
df -h /nonexistent-dirdf: /nonexistent-dir: No such file or directoryถ้าระบุชนิดที่ไม่มีบนเซิร์ฟเวอร์ให้ -t จะไม่เหลือบรรทัดให้แสดง จึงแสดง [no file systems processed] และรหัสออกเป็น 1
df -t nosuchfsdf: no file systems processedเมื่อระบุชื่อคอลัมน์ที่ไม่มีอยู่ให้ --output ชื่อนั้นจะปรากฏในข้อความแสดงข้อผิดพลาด
df --output=bogusdf: option --output: field 'bogus' unknown
Try 'df --help' for more information.เมื่อเขียน -i หรือ -T พร้อมกับ --output จะแสดง [mutually exclusive] และจบด้วยรหัสออก 1 เหมือนกัน ถ้าต้องการดู inode หรือชนิดด้วย --output ให้เขียนชื่อคอลัมน์อย่าง itotal และ fstype
df -i --outputdf: options -i and --output are mutually exclusive
Try 'df --help' for more information.🔢 FAQ & เนื้อหาแนะนำ
UUID
คำสั่ง blkid ใน Linux | ความต่างระหว่าง UUID และ GUID
บทความเรื่องการตรวจชนิดระบบไฟล์และ UUID ของอุปกรณ์บล็อกด้วยคำสั่ง blkid
พาร์ทิชัน
วิธีตั้งค่าพาร์ทิชันบน Linux: คำสั่ง gdisk
บทความเรื่องขั้นตอนสร้างและลบพาร์ทิชันบนดิสก์ด้วยคำสั่ง gdisk
ℹ️ ประกาศเรื่องลิงก์แอฟฟิลิเอต
เนื้อหาของเว็บไซต์นี้มีลิงก์แอฟฟิลิเอต หากผู้เข้าชมซื้อสินค้าหรือบริการผ่านลิงก์เหล่านี้ เว็บไซต์นี้จะได้รับค่าคอมมิชชันจากผู้ขาย ในกระบวนการนี้ ราคาที่ผู้ซื้อจ่าย(ราคาจะลดลงเมื่อมีโปรโมชัน↓)จะไม่สูงขึ้นแต่อย่างใด ราคา ส่วนลด และข้อมูลสต็อกที่แสดงเป็นข้อมูล ณ เวลาที่เขียนและอาจต่างจากความเป็นจริง โปรดตรวจสอบกับผู้ขายอีกครั้งก่อนซื้อ การเลือกและการประเมินสินค้าเขียนตามเกณฑ์ของเราเอง และการได้รับค่าคอมมิชชันหรือไม่ไม่มีผลต่อลำดับการแนะนำหรือเนื้อหาการประเมิน