คำสั่ง df: ตรวจสอบการใช้ดิสก์ด้วยตัวเลือก -h, -T และ -i

สภาพแวดล้อมทดสอบตระกูล RHELAlmaLinux 9.8coreutils 8.32บัญชี rootDebian 12 · coreutils 9.1 บัญชีผู้ใช้ทั่วไปตรวจสอบเมื่อ 2026-10-29

คำสั่ง 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

  • ↪️ คอลัมน์ผลลัพธ์หกคอลัมน์และการคำนวณ Use%

รูปแบบพื้นฐานคือ [df ตัวเลือก ไฟล์] ถ้าไม่ระบุไฟล์จะแสดงระบบไฟล์ที่เมานต์ไว้ทั้งหมด และถ้าไม่มีตัวเลือกจะแสดงขนาดเป็นจำนวนบล็อกขนาด 1,024 ไบต์

df
Filesystem     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 1
df (GNU coreutils) 8.32
df --version | head -n 1
df (GNU coreutils) 9.1

2️⃣ ตัวเลือก df -h

  • ↪️ หน่วยที่อ่านง่ายและดูเพียงเส้นทางเดียว

-h จัดกลุ่มขนาดเป็นหน่วย 1,024 แล้วแสดงพร้อม K, M หรือ G

df -h
Filesystem      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 -H
Filesystem      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/work
Filesystem      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 และ -x

-T เพิ่มคอลัมน์ Type ต่อจาก Filesystem และแสดงชนิดของระบบไฟล์

df -hT
Filesystem     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 -h
Filesystem      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 -h
Filesystem      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 -h
Filesystem      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/efi

4️⃣ df -i การใช้ inode

  • ↪️ ตรวจขีดจำกัดจำนวนไฟล์

inode คือข้อมูลการจัดการที่ใช้ไฟล์ละหนึ่งตัวและโฟลเดอร์ละหนึ่งตัว -i จะแสดงจำนวน inode แทนขนาด

df -i
Filesystem       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/0

Inodes คือจำนวนทั้งหมดที่สร้างได้ IUsed คือจำนวนที่ใช้ IFree คือจำนวนที่เหลือ และ IUse% คืออัตราการใช้งาน /boot/efi ที่เป็น vfat และ efivarfs มีจำนวน inode เป็น 0 จึงแสดง IUse% เป็น -

ทุกครั้งที่สร้างไฟล์จะใช้ inode หนึ่งตัว เมื่อ IUse% ถึง 100% จะสร้างไฟล์ใหม่ไม่ได้แม้ Use% จะยังต่ำ ถ้าเป็นเซิร์ฟเวอร์ที่มีไฟล์เล็กสะสมจำนวนมาก ให้ตรวจ [df -h] และ [df -i] ไปพร้อมกัน

เมื่อใส่ -h ด้วย จำนวนก็ถูกจัดกลุ่มเป็นหน่วย K และ M โดย 26201024 ของรูทแสดงเป็น 25M

df -ih
Filesystem     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 กำหนดคอลัมน์ผลลัพธ์

  • ↪️ เลือกเฉพาะคอลัมน์ที่ต้องการและผลรวมด้วย --total

--output กำหนดคอลัมน์ที่จะแสดงและลำดับได้โดยตรง เขียนชื่อคอลัมน์คั่นด้วยจุลภาค และใช้ได้สิบสองชื่อตามตารางด้านล่าง (อ้างอิง --help)

ชื่อคอลัมน์หัวคอลัมน์เนื้อหา
sourceFilesystemชื่ออุปกรณ์ / ชื่อระบบไฟล์
fstypeTypeชนิดของระบบไฟล์
itotalInodesจำนวน inode ทั้งหมด
iusedIUsedจำนวน inode ที่ใช้
iavailIFreeจำนวน inode ที่เหลือ
ipcentIUse%อัตราการใช้ inode
sizeSizeขนาดทั้งหมด
usedUsedขนาดที่ใช้
availAvailขนาดที่ว่าง
pcentUse%อัตราการใช้งาน
fileFileชื่อไฟล์ที่ระบุในคำสั่ง
targetMounted onจุดเมานต์
df --output=source,fstype,size,used,avail,pcent,target -h
Filesystem     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 -h
Mounted 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 --total
Filesystem      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 แล้วดูว่าคอลัมน์ผลลัพธ์เปลี่ยนไปอย่างไรในแต่ละตัวเลือก

ตัวจำลองคำสั่ง dfcoreutils 8.32
[root@server work]#
เป็นเซิร์ฟเวอร์เสมือนที่ทำงานในเบราว์เซอร์เท่านั้น ชื่ออุปกรณ์และขนาดเป็นค่าตัวอย่าง และช่องด้านซ้ายแสดงขนาดและอัตราการใช้งานของ df -h ตามแต่ละจุดเมานต์

6️⃣ ข้อผิดพลาดของคำสั่ง df

  • ↪️ No such file or directory และ no file systems processed

เมื่อระบุเส้นทางที่ไม่มีอยู่ จะแสดง [No such file or directory] และจบด้วยรหัสออก 1

df -h /nonexistent-dir
df: /nonexistent-dir: No such file or directory

ถ้าระบุชนิดที่ไม่มีบนเซิร์ฟเวอร์ให้ -t จะไม่เหลือบรรทัดให้แสดง จึงแสดง [no file systems processed] และรหัสออกเป็น 1

df -t nosuchfs
df: no file systems processed

เมื่อระบุชื่อคอลัมน์ที่ไม่มีอยู่ให้ --output ชื่อนั้นจะปรากฏในข้อความแสดงข้อผิดพลาด

df --output=bogus
df: option --output: field 'bogus' unknown
Try 'df --help' for more information.

เมื่อเขียน -i หรือ -T พร้อมกับ --output จะแสดง [mutually exclusive] และจบด้วยรหัสออก 1 เหมือนกัน ถ้าต้องการดู inode หรือชนิดด้วย --output ให้เขียนชื่อคอลัมน์อย่าง itotal และ fstype

df -i --output
df: options -i and --output are mutually exclusive
Try 'df --help' for more information.

🔢 FAQ & เนื้อหาแนะนำ

เมื่อรัน [df -a] จะแสดงระบบไฟล์เสมือนที่มีขนาด 0 อย่าง proc, sysfs และ cgroup2 เพิ่มมาด้วย ทำให้มีบรรทัดมากขึ้น และคอลัมน์ Use% ของบรรทัดเหล่านี้เป็น - ผลลัพธ์ปกติจะไม่แสดงบรรทัดเหล่านี้ (อ้างอิง --help)

ใส่ -l (--local) จะแสดงเฉพาะระบบไฟล์ในเครื่อง (อ้างอิง --help) บนเซิร์ฟเวอร์ AlmaLinux 9.8 ที่ไม่มีการเมานต์ระยะไกล [df -l -h] ให้ผลลัพธ์เหมือน [df -h]

ถ้าระบุหน่วยให้ -B ขนาดทั้งหมดจะถูกปรับเป็นหน่วยนั้น เมื่อรัน [df -BM /] หัวคอลัมน์เปลี่ยนเป็น 1M-blocks และขนาดของรูทแสดงเป็น 51175M

ℹ️ ประกาศเรื่องลิงก์แอฟฟิลิเอต
เนื้อหาของเว็บไซต์นี้มีลิงก์แอฟฟิลิเอต หากผู้เข้าชมซื้อสินค้าหรือบริการผ่านลิงก์เหล่านี้ เว็บไซต์นี้จะได้รับค่าคอมมิชชันจากผู้ขาย ในกระบวนการนี้ ราคาที่ผู้ซื้อจ่าย(ราคาจะลดลงเมื่อมีโปรโมชัน↓)จะไม่สูงขึ้นแต่อย่างใด ราคา ส่วนลด และข้อมูลสต็อกที่แสดงเป็นข้อมูล ณ เวลาที่เขียนและอาจต่างจากความเป็นจริง โปรดตรวจสอบกับผู้ขายอีกครั้งก่อนซื้อ การเลือกและการประเมินสินค้าเขียนตามเกณฑ์ของเราเอง และการได้รับค่าคอมมิชชันหรือไม่ไม่มีผลต่อลำดับการแนะนำหรือเนื้อหาการประเมิน

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

Prove your humanity: 3   +   8   =