Jak zobrazit volné místo na disku a využití disku z terminálu Linux

Příkazy df a du hlásí využití místa na disku z prostředí Bash používaného v Linuxu, macOS a mnoha dalších operačních systémech podobných Unixu. Tyto příkazy vám umožňují snadno zjistit, co zabírá úložiště vašeho systému.

Zobrazení celkového, dostupného a použitého místa na disku

Bash obsahuje dva užitečné příkazy související s místem na disku. Chcete-li zjistit dostupné a použité místo na disku, použijte df (systémy souborů na disku, někdy nazývané disk free). Chcete-li zjistit, co zabírá místo na disku, použijte du (využití disku).

Začněte zadáním df a stisknutím klávesy Enter v okně terminálu Bash. Uvidíte mnoho výstupů podobných níže uvedenému snímku obrazovky. Použití df bez jakýchkoli voleb zobrazí dostupné a použité místo pro všechny připojené souborové systémy. Na první pohled to může vypadat neproniknutelně, ale je docela snadné to pochopit.

df

Každý řádek displeje se skládá ze šesti sloupců.

Fileystem: Název tohoto souborového systému.
1K-Blocks: Počet 1K bloků, které jsou dostupné v tomto souborovém systému.
Použité: Počet 1K bloků, které byly použity v tomto systému souborů.
Dostupné: Počet 1K bloků, které nejsou v tomto systému souborů použity.
Use%: Množství místa použitého v tomto systému souborů vyjádřené v procentech.
Soubor: Název souborového systému, pokud je zadán na příkazovém řádku.
Připojeno: Bod připojení souborového systému.

Počty 1K bloků můžete nahradit užitečnějším výstupem pomocí volby -B (velikost bloku). Chcete-li použít tuto možnost, zadejte df, mezeru a poté -B a písmeno ze seznamu K, M, G, T, P, E, Z nebo Y. Tato písmena představují kilo, mega, giga, tera, hodnoty peta, exa, zeta a yotta z násobku škály 1024.

Chcete-li například zobrazit údaje o využití disku v megabajtech, použijte následující příkaz. Všimněte si, že mezi B a M není mezera.

df -BM

Volba -h (čitelný člověkem) nařídí df, aby použil nejvhodnější jednotku pro velikost každého souborového systému. V dalším výstupu si všimněte, že existují souborové systémy s velikostí gigabajtů, megabajtů a dokonce i kilobajtů.

df -h

Pokud potřebujete zobrazit informace reprezentované počtem inodů, použijte volbu -i (inodes). Inode je datová struktura používaná souborovými systémy Linux k popisu souborů a k ukládání metadat o nich. V Linuxu inody uchovávají data, jako je název, datum modifikace, pozice na pevném disku a tak dále pro každý soubor a adresář. To nebude pro většinu lidí užitečné, ale správci systému se někdy musí na tento typ informací odvolávat.

df -i

Pokud to není řečeno, df poskytne informace o všech připojených souborových systémech. To může vést k nepřehlednému displeji s velkým výkonem. Například položky /dev/loop v seznamech jsou pseudo souborové systémy, které umožňují připojení souboru, jako by to byl oddíl. Pokud používáte novou metodu Ubuntu snap k instalaci aplikací, můžete jich získat spoustu. Místo dostupné na nich bude vždy 0, protože ve skutečnosti nejsou souborovým systémem, takže je nepotřebujeme vidět.

Můžeme říci df, aby vyloučil souborové systémy určitého typu. K tomu potřebujeme vědět, jaký typ souborového systému chceme vyloučit. Tuto informaci nám poskytne volba -T (typ tisku). Instruuje df, aby do výstupu zahrnul typ souborového systému.

df -T

Položky /dev/loop jsou všechny souborové systémy squashfs. Můžeme je vyloučit pomocí následujícího příkazu:

df -x squashfs

To nám dává lépe ovladatelný výstup. Chcete-li získat součet, můžeme přidat možnost –total.

df -x squashfs --total

Můžeme požádat df, aby zahrnul pouze souborové systémy určitého typu, pomocí volby -t (typ).

df -t ext4

Pokud chceme vidět velikosti pro sadu souborových systémů, můžeme je specifikovat jménem. Názvy jednotek v Linuxu jsou abecední. První jednotka se nazývá /dev/sda , druhá jednotka je /dev/sdb atd. Příčky jsou očíslovány. /dev/sda1 je tedy první oddíl na disku /dev/sda . Řekneme df, aby vrátil informace o konkrétním souborovém systému předáním názvu souborového systému jako parametru příkazu. Podívejme se na první oddíl prvního pevného disku.

df /dev/sda1

Všimněte si, že v názvu souborového systému můžete použít zástupné znaky, kde * představuje libovolnou sadu znaků a ? představuje libovolný jednotlivý znak. Abychom se tedy podívali na všechny oddíly na prvním disku, mohli bychom použít:

df /dev/sda*

Můžeme požádat df, aby podal zprávu o sadě pojmenovaných souborových systémů. Požadujeme velikosti souborových systémů /dev a /run a chtěli bychom celkem.

df -h --total /dev /run

Pro další přizpůsobení zobrazení můžeme df říci, které sloupce má zahrnout. Chcete-li tak učinit, použijte volbu –output a poskytněte seznam požadovaných názvů sloupců oddělených čárkami. Ujistěte se, že v seznamu odděleném čárkou nejsou žádné mezery.

zdroj: Název souborového systému.
fstype: Typ souborového systému.
itotal: Velikost souborového systému v inodech.
iused: Prostor použitý na souborovém systému v inodech.
iavail: Dostupný prostor na souborovém systému v inodech.
ipcent: Procento použitého prostoru na souborovém systému v inodech v procentech.
velikost: Velikost souborového systému, standardně v 1K blocích.
used: Prostor použitý na souborovém systému, standardně v 1K blocích.
avail: Dostupný prostor v souborovém systému, standardně v 1K blocích.
pcent: Procento využitého místa na souborovém systému v inodech, standardně v 1K blocích.
soubor: Název souborového systému, pokud je zadán na příkazovém řádku.
target: Přípojný bod pro souborový systém.

Požádejme df, aby podal zprávu o prvním oddílu na prvním disku s čísly čitelnými pro člověka a se sloupci source, fstype, size, used, avail a pcent:

df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent

Dlouhé příkazy jsou perfektními kandidáty na přeměnu na alias. Můžeme vytvořit alias dfc (pro df custom ) zadáním následujícího a stisknutím klávesy Enter:

alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"

Vytvoření aliasu pomocí příkazu alias dfc=

Zadání dfc a stisknutí klávesy enter bude mít stejný účinek jako zadání dlouhého příkazu. Chcete-li, aby byl tento alias trvalý, přidejte jej do svého souboru .bashrc nebo .bash_aliases.

Hledali jsme způsoby, jak zpřesnit výstup z df tak, aby zobrazované informace odpovídaly vašim požadavkům. Pokud chcete zvolit opačný přístup a nechat df vrátit všechny informace, můžete použít volbu -a (all) a volbu –output, jak je uvedeno níže. Volba -a (all) žádá df, aby zahrnul každý souborový systém, a použití volby –output bez seznamu sloupců oddělených čárkami způsobí, že df zahrne každý sloupec.

df -a --output

Propojení výstupu z df prostřednictvím příkazu less je pohodlný způsob, jak zkontrolovat velké množství výstupu, které může produkovat.

df -a --output | less

Zjistěte, co zabírá místo na disku

Pojďme provést průzkum a zjistit, co zabírá místo na tomto počítači. Začneme jedním z našich příkazů df.

df -h -t ext4

Na prvním oddílu prvního pevného disku je využito 78 % místa na disku. Pomocí příkazu du můžeme ukázat, které složky obsahují nejvíce dat. Zadáním příkazu du bez voleb se zobrazí seznam všech adresářů a podadresářů pod adresářem, ve kterém byl příkaz du vydán. Pokud to uděláte ze své domovské složky, bude výpis velmi dlouhý.

du

Výstupní formát je velmi jednoduchý. Každý řádek zobrazuje velikost a název adresáře. Ve výchozím nastavení je velikost zobrazena v blocích 1K. Chcete-li du vynutit použití jiné velikosti bloku, použijte volbu -B (velikost bloku). Chcete-li použít tuto možnost, zadejte du, mezeru a poté -B a písmeno ze seznamu K, M, G, T, P, E, Z a Y, jako jsme to udělali výše pro df . Chcete-li použít 1M bloky, použijte tento příkaz:

du -BM

Stejně jako df, du má pro člověka čitelnou volbu -h, která používá rozsah velikostí bloků podle velikosti každého adresáře.

du -h

Volba -s (summarize) udává součet pro každý adresář bez zobrazení podadresářů v každém adresáři. Následující příkaz žádá du, aby vrátil informace ve formátu souhrnu, v lidsky čitelných číslech, pro všechny adresáře

du -h -s *

pod aktuálním pracovním adresářem.

du -sm Pictures/* | sort -nr

Složka Obrázek obsahuje zdaleka nejvíce dat. Můžeme požádat du, aby seřadil složky podle velikosti od největší po nejmenší.

Zpřesněním informací vrácených df a du je snadné zjistit, kolik místa na pevném disku je využíváno, a zjistit, co toto místo zabírá. Poté můžete učinit informované rozhodnutí o přesunutí některých dat na jiné úložiště, přidání dalšího pevného disku do počítače nebo odstranění nadbytečných dat. Tyto příkazy mají mnoho možností. Zde jsme popsali nejužitečnější možnosti, ale můžete vidět úplný seznam možností pro příkaz df a pro du příkaz

na manuálových stránkách Linuxu.