
Časem může být váš disk přeplněný spoustou nepotřebných souborů, které zabírají velké množství místa na disku. Systémům Linux obvykle dojde místo na disku kvůli velkým souborům protokolů nebo záloh.
Tento tutoriál vysvětluje, jak najít největší soubory a adresáře v systémech Linux pomocí find
a du
příkazy.
Najít velké soubory pomocí find
Příkaz #
find
command je jedním z nejmocnějších nástrojů v arzenálu systémových administrátorů Linuxu. Umožňuje vám vyhledávat soubory a adresáře na základě různých kritérií, včetně velikosti souboru.
Chcete-li například vyhledat soubory o velikosti větší než 100 MB, v aktuálním pracovním adresáři byste spustili následující příkaz:
sudo find . -xdev -type f -size +100M
Nahraďte .
s cestou k adresáři, kde chcete hledat největší soubory. Výstup zobrazí seznam souborů bez dalších informací.
/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2
/var/lib/libvirt/images/debian-9_default.img
/var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
/var/lib/libvirt/images/centos-7_default.img
find
příkaz lze také použít v kombinaci s jinými nástroji, jako je ls
nebo sort
provádět operace s těmito soubory.
V níže uvedeném příkladu předáváme výstup find
příkaz ls
který vytiskne velikost každého nalezeného souboru a poté tento výstup převede do sort
příkaz k seřazení podle 5. sloupce, což je velikost souboru.
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
Výstup bude vypadat nějak takto:
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
-rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
-rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
-rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
Pokud výstup obsahuje mnoho řádků informací, můžete použít head
příkaz pro tisk pouze prvních 10 řádků:
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
Rozeberme si příkaz:
find . -xdev -type f -size +100M -print
- hledat pouze soubory (-type f
) v aktuálním pracovním adresáři (.
), větší než 100 MB (-size +100M
), nesestupujte z adresářů na jiných souborových systémech (-xdev
) a vytiskněte celý název souboru na standardní výstup a za ním nový řádek (-print
).xargs ls -lh
- výstupfind
příkaz je přesměrován doxargs
který provedels -lh
příkaz, který vytiskne výstup v dlouhém výpisu čitelném formátu.sort -k5,5 -h -r
- řazení řádků na základě 5. sloupce (-k5,5
), porovnejte hodnoty ve formátu čitelném pro člověka (-h
) a obrátit výsledek (-r
).head
:vytiskne pouze prvních 10 řádků odesílaného výstupu.
find
příkaz přichází se spoustou výkonných možností. Můžete například vyhledávat velké soubory, které jsou starší než x dní, velké soubory s konkrétní příponou nebo velké soubory, které patří konkrétnímu uživateli.
Najít velké soubory a adresáře pomocí du
Příkaz #
du
příkaz se používá k odhadu využití místa v souboru a je zvláště užitečný pro hledání adresářů a souborů, které zabírají velké množství místa na disku.
Následující příkaz vytiskne největší soubory a adresáře:
du -ahx . | sort -rh | head -5
První sloupec obsahuje velikost souboru a druhý název souboru:
55G .
24G ./.vagrant.d/boxes
24G ./.vagrant.d
13G ./Projects
5.2G ./.minikube
Vysvětlení příkazu:
du -ahx .
:odhad využití místa na disku v aktuálním pracovním adresáři (.
), počítejte soubory i adresáře (a
), velikosti tisku ve formátu čitelném pro člověka (h
) a přeskočit adresáře na různých systémech souborů (x
).sort -rh
:řazení řádků porovnáním hodnot ve formátu čitelném pro člověka (-h
) a obrátit výsledek (-r
).head -5
:vytiskne pouze prvních pět řádků odesílaného výstupu.
du
příkaz má mnoho dalších možností, které lze použít ke zpřesnění výstupu využití místa na disku.
Závěr č.
Ukázali jsme vám, jak najít největší soubory a adresáře pomocí find
a du
příkazy.
Nyní, když se dozvíte, jak najít největší soubory ve vašem systému, možná si budete chtít přečíst naši příručku o tom, jak odstranit soubory a adresáře pomocí příkazového řádku systému Linux.
Pokud máte nějaké dotazy nebo připomínky, zanechte prosím níže komentář.