du
příkaz, zkratka pro „využití disku“, hlásí odhadované množství místa na disku použitého danými soubory nebo adresáři. Je to prakticky užitečné pro hledání souborů a adresářů, které zabírají velké množství místa na disku.
Jak používat du
příkaz #
Obecná syntaxe pro du
příkaz je následující:
du [OPTIONS]... FILE...
Pokud je daný FILE
je adresář du
shrne využití disku pro každý soubor a podadresář v tomto adresáři. Pokud není FILE
je zadáno, du
bude hlásit využití disku aktuálního pracovního adresáře.
Při spuštění bez jakékoli možnosti du
zobrazuje využití disku daného souboru nebo adresáře a každého jeho podadresáře v bajtech.
du ~/Documents
Do du
můžete také předat více souborů a adresářů příkaz jako argumenty:
du ~/Documents ~/Pictures ~/.zshrc
Pokud spustíte du
u souboru nebo adresáře, pro který nemáte oprávnění, dostanete něco jako „du:nelze číst adresář“. V této situaci budete muset před příkaz přidat sudo
.
du
má spoustu možností, nastíníme jen ty nejčastěji používané.
-a
volba říká du
hlásit využití místa na disku pro každý soubor v adresáři.
du -a ~/Documents
Obvykle byste chtěli zobrazit pouze místo obsazené daným adresářem ve formátu čitelném pro člověka. Chcete-li to provést, použijte -h
možnost.
Chcete-li například získat celkovou velikost /var/lib
a všech jeho podadresářích byste spustili následující příkaz:
sudo du -h /var
Používáme sudo
protože většina souborů a adresářů je uvnitř /var/lib
adresáře jsou vlastněny uživatelem root a běžní uživatelé je nečtou. Výstup bude vypadat nějak takto:
...
4.0K /var/lib/apt/mirrors/partial
8.0K /var/lib/apt/mirrors
205M /var/lib/apt
2.9G /var/lib/
Chcete-li hlásit pouze celkovou velikost zadaného adresáře, nikoli pro podadresáře, použijte -s
možnost:
sudo du -sh /var
2.9G /var
-c
volba říká du
nahlásit celkový součet. To je užitečné, když chcete získat kombinovanou velikost dvou nebo více adresářů.
sudo du -csh /var/log /var/lib
1.2G /var/log
2.9G /var/lib
4.1G total
Pokud chcete zobrazit využití disku n-úrovňových podadresářů, použijte --max-depth
a zadejte úroveň podadresářů. Chcete-li například získat přehled o adresářích první úrovně, které byste použili:
sudo du -h --max-depth=1 /var/lib
...
544K /var/lib/usbutils
4.0K /var/lib/acpi-support
205M /var/lib/apt
2.9G /var/lib
Výchozí chování du
nástroj je změnit místo na disku používaném adresářem nebo souborem. Chcete-li zjistit zdánlivou velikost souboru, použijte --apparent-size
přepínač. „Zdánlivá velikost“ souboru je množství dat, které soubor skutečně obsahuje.
sudo du -sh --apparent-size /var/lib
2.9G /var/lib
du
také umožňuje použít vzor shellu. Chcete-li například získat velikost všech adresářů začínajících na „Do“ ve vašem domovském adresáři, spustili byste:
sudo du -csh ~/Do*
102M /home/linuxize/Documents
358M /home/linuxize/Downloads
460M total
Pomocí du
s Dalšími příkazy #
du
příkaz lze kombinovat s jinými příkazy s rourami.
Chcete-li například vytisknout 5 největších adresářů uvnitř /var
adresář, kterému byste předali výstup du
do sort
příkaz k seřazení adresářů podle jejich velikosti a poté výstup do head
příkaz, který vytiskne pouze prvních 5 adresářů:
sudo du -h /var/ | sort -rh | head -5
4.6G /var/
2.9G /var/lib
2.6G /var/lib/snapd
1.7G /var/lib/snapd/snaps
1.2G /var/log/journal/af8ce1d394b844fea8c19ea5c6a9bd09
Závěr č.
Nyní byste měli dobře rozumět tomu, jak používat du
příkaz.
na rozdíl od df
který vypíše informace o využití disku připojenými systémy souborů, du
vám poskytne odhad místa na disku použitého danými soubory nebo adresáři.
Můžete zobrazit všechny dostupné du
možnosti příkazu zadáním man du
ve vašem terminálu.
Pokud máte nějaké dotazy nebo zpětnou vazbu, zanechte prosím níže komentář.