Polecenie df: sprawdzanie użycia dysku z opcjami -h, -T i -i
Polecenie df to polecenie systemu Linux, które dla każdego zamontowanego systemu plików wyświetla w jednym wierszu całkowity rozmiar, zajęte miejsce, wolne miejsce i procent użycia. Po uruchomieniu df kolejno z opcjami -h, -T, -i, --output i -x na serwerze AlmaLinux 9 i serwerze Debian 12 oraz porównaniu wyników miejsce na dysku sprawdza się w kolumnie Use%, a limit liczby plików w kolumnie IUse% polecenia df -i.
W wynikach serwera AlmaLinux 9.8 nazwy urządzeń, rozmiary dysków oraz rozmiar i użycie tmpfs, które zależą od ilości pamięci, zastąpiono spójnymi przykładowymi wartościami, a wiersze montowania istniejące tylko na tym serwerze usunięto. Ścieżka folderu w poleceniach to także przykładowa wartość, a wyniki serwera Debian 12 przedstawiono bez zmian.
1️⃣ Jak używać polecenia df w systemie Linux
Podstawowa postać to [df opcje plik]. Bez pliku polecenie wyświetla wszystkie zamontowane systemy plików, a bez opcji podaje rozmiary jako liczbę bloków po 1024 bajty.
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/0Wynik ma sześć kolumn, a zawartość każdej z nich pokazuje poniższa tabela.
| Pole | Zawartość |
|---|---|
| Filesystem | Nazwa urządzenia lub systemu plików (tmpfs itp.) |
| 1K-blocks | Całkowity rozmiar (liczba bloków po 1024 bajty) · z -h Size |
| Used | Zajęty rozmiar |
| Available | Wolny rozmiar · z -h Avail |
| Use% | Procent użycia · Used ÷ (Used + Available), zaokrąglone w górę |
| Mounted on | Punkt montowania (folder, do którego podłączony jest system plików) |
Podłączenie urządzenia do folderu nazywa się montowaniem dysku, a żeby podłączać je automatycznie przy każdym uruchomieniu, wpisuje się je do /etc/fstab.
Po przeliczeniu każdego wiersza wyników serwera AlmaLinux 9.8 Use% odpowiadało wartości Used podzielonej przez sumę Used i Available, zaokrąglonej w górę. Dla katalogu głównego (/) w wynikach powyżej 10265000 podzielone przez 52403180 daje 19,6%, co wyświetlono jako 20%.
df wchodzi w skład pakietu coreutils. Wersję sprawdzono w pierwszym wierszu [df --version]: coreutils 8.32 na serwerze AlmaLinux 9.8 i 9.1 na serwerze Debian 12.
df --version | head -n 1df (GNU coreutils) 8.32df --version | head -n 1df (GNU coreutils) 9.12️⃣ Opcja df -h
-h grupuje rozmiary w jednostkach po 1024 i wyświetla je z K, M lub 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/0Bloki 1K katalogu głównego (/), 52403180, zmieniły się w 50G, a zajęte 10265000 w 9.8G. Liczby są zaokrąglane w górę; wartości poniżej 10 pokazywane są z jednym miejscem po przecinku, jak 9.8G, a od 10 wzwyż jako liczby całkowite, jak 50G.
-H grupuje w jednostkach po 1000 zamiast 1024.
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/0Ten sam katalog główny z -H pokazał 54G, czyli więcej niż z -h, a jednostka kilo zmieniła się na małe k, jak w 132k.
Po podaniu pliku lub folderu df wyświetla tylko wiersz systemu plików, który zawiera tę ścieżkę.
df -h /root/workFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% //root/work to folder w katalogu głównym (/), dlatego pojawił się wiersz /dev/sda4. Miejsce zajmowane przez każdy folder sumuje się za pomocą Polecenie du.
Na serwerze Debian 12 podanie folderu domowego (~) ze zwykłego konta dało jeden wiersz /dev/vda2 z użyciem 52%.
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/vda2 23G 12G 11G 52% /3️⃣ df -T: typ systemu plików
-T dodaje kolumnę Type po Filesystem i wyświetla typ systemu plików.
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/0Partycje dysku /dev/sda4 i /dev/sda3 miały system xfs, a /boot/efi vfat. tmpfs i devtmpfs to systemy plików, które zamiast dysku używają pamięci.
Katalog główny serwera Debian 12 miał system ext4.
df -hT ~Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 23G 12G 11G 52% /-t zostawia tylko podany typ, a -x wyświetla wszystko oprócz podanego typu.
df -t xfs -hFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /bootPo uruchomieniu z -t xfs zostały tylko dwa wiersze 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 usunęło trzy wiersze tmpfs, a devtmpfs o podobnej nazwie pozostał. Usuwane są tylko wiersze, których nazwa typu dokładnie się zgadza, więc aby usunąć także devtmpfs, trzeba wpisać -x jeszcze raz.
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: użycie i-węzłów
inode to informacja zarządcza używana po jednej dla każdego pliku i folderu. -i wyświetla liczbę i-węzłów zamiast rozmiaru.
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 to łączna liczba, którą można utworzyć, IUsed liczba zajętych, IFree liczba pozostałych, a IUse% procent użycia. /boot/efi z systemem vfat oraz efivarfs mają 0 i-węzłów, dlatego IUse% pokazało -.
Każdy nowy plik zajmuje jeden i-węzeł, więc gdy IUse% dojdzie do 100%, nie da się utworzyć nowego pliku, nawet jeśli Use% jest niskie. Na serwerze, na którym gromadzi się wiele małych plików, warto sprawdzać [df -h] i [df -i] razem.
Po dodaniu także -h liczby zostały zgrupowane w jednostkach K i M, a 26201024 katalogu głównego pokazano jako 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/0Serwer Debian 12 używał 188009 z 6285088 i-węzłów, co dało IUse% równe 3%.
df -i ~Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda2 6285088 188009 6097079 3% /5️⃣ df --output: wybór kolumn wyniku
--output bezpośrednio ustala, które kolumny wyświetlić i w jakiej kolejności. Nazwy kolumn wpisuje się po przecinku, a dostępne są nazwy z poniższej tabeli, dwanaście w sumie (według --help).
| Nazwa kolumny | Nagłówek | Zawartość |
|---|---|---|
| source | Filesystem | Nazwa urządzenia / systemu plików |
| fstype | Type | Typ systemu plików |
| itotal | Inodes | Łączna liczba i-węzłów |
| iused | IUsed | Zajęte i-węzły |
| iavail | IFree | Wolne i-węzły |
| ipcent | IUse% | Procent użycia i-węzłów |
| size | Size | Całkowity rozmiar |
| used | Used | Zajęty rozmiar |
| avail | Avail | Wolny rozmiar |
| pcent | Use% | Procent użycia |
| file | File | Nazwa pliku podana w poleceniu |
| target | Mounted on | Punkt montowania |
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/0Wpisanie siedmiu kolumn po kolei dało ten sam wynik co [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% 376MPrzy nazwach kolumn w kolejności target, pcent, avail punkt montowania znalazł się na początku, a po nim procent użycia i wolny rozmiar w tej kolejności.
--total dodaje na dole wiersz sumy.
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% -Wiersz total to suma wszystkich ośmiu wierszy powyżej, więc doliczone zostały także systemy plików w pamięci, takie jak tmpfs.
🔲 Symulator polecenia df
W symulatorze poniżej można uruchomić df z -h, -H, -T, -i, -t, -x, --output i --total i zobaczyć, jak zmieniają się kolumny wyniku przy każdej opcji.
6️⃣ Błędy polecenia df
Podanie nieistniejącej ścieżki dało [No such file or directory] i zakończyło się kodem wyjścia 1.
df -h /nonexistent-dirdf: /nonexistent-dir: No such file or directoryJeśli -t otrzyma typ, którego nie ma na serwerze, nie zostaje żaden wiersz do wyświetlenia, więc pojawiło się [no file systems processed], a kod wyjścia wynosił 1.
df -t nosuchfsdf: no file systems processedNieistniejąca nazwa kolumny podana w --output pojawiła się w komunikacie o błędzie.
df --output=bogusdf: option --output: field 'bogus' unknown
Try 'df --help' for more information.-i lub -T użyte razem z --output dało [mutually exclusive] i zakończyło się tym samym kodem wyjścia 1. Aby zobaczyć i-węzły lub typy za pomocą --output, wpisuje się nazwy kolumn, takie jak itotal i fstype.
df -i --outputdf: options -i and --output are mutually exclusive
Try 'df --help' for more information.🔢 FAQ & polecane treści
UUID
Polecenie blkid w systemie Linux | Różnica między UUID a GUID
Artykuł o sprawdzaniu typu systemu plików i UUID urządzeń blokowych za pomocą polecenia blkid.
Partycja
Polecenie gdisk: partycjonowanie dysku w Linuksie
Artykuł o krokach tworzenia i usuwania partycji na dysku za pomocą polecenia gdisk.
ℹ️ Informacja o linkach partnerskich
Treści tej witryny zawierają linki partnerskie. Jeśli odwiedzający kupi produkt lub usługę przez taki link, witryna otrzymuje od sprzedawcy prowizję. Kwota płacona przy tym przez kupującego (podczas promocji spada↓) nie wzrasta. Podane ceny, rabaty i dostępność odnoszą się do chwili pisania i mogą różnić się od stanu faktycznego, dlatego przed zakupem sprawdź je u sprzedawcy. Produkty wybieramy i oceniamy według własnych kryteriów, a prowizja nie wpływa ani na kolejność prezentacji, ani na treść ocen.