GNU/Linux >> Znalost Linux >  >> Linux

Jak najít velké soubory linux pomocí příkazů find a du

Linuxové příkazy find a du přijde na vaši záchranu.

Pomocí příkazu du

du příkaz se používá k odhadu využití prostoru pro soubory v systému Linux. Zobrazuje informace o využití disku.

Použijme du zkontrolovat obsah /boot :

# du
0   ./efi/EFI/centos
0   ./efi/EFI
0   ./efi
2400    ./grub2/i386-pc
3176    ./grub2/locale
2504    ./grub2/fonts
8096    ./grub2
4   ./grub
250556  .

Hodnoty zcela vlevo jsou využití disku, za kterým následuje konkrétní adresář zodpovědný za toto použití. Spodní řádek je souhrnem celého /boot/ adresář.

Zde je seznam důležitých du možnosti

  • -h , --human-readable tiskne výstupy velikosti ve formátu čitelném pro člověka.
  • -s , --summarize lze kombinovat s -h získat přehled o používání adresáře ve formátu čitelném pro člověka.
  • -a , --all uvádí velikosti všech souborů a adresářů v dané cestě k souboru. Můžete kombinovat s -h

Nyní v našem případě bychom chtěli zaznamenat využití místa v souboru a nejprve zkontrolovat největší, můžeme je seřadit pomocí sort příkaz. Pokud chceme omezit náš výsledek, head příkaz se bude hodit,

Získání největších souborů pomocí du :

du -a / | sort -n -r | head -n 20

Výše uvedený příkaz používá du Chcete-li zjistit využití disku, pak je obsah přesměrován k třídění, pak head vypíše pouze prvních 20 položek.

Výstup:

# du -a / | sort -n -r | head -n 20

du: cannot access ‘/proc/20633/task/20633/fd/3’: No such file or directory
du: cannot access ‘/proc/20633/task/20633/fdinfo/3’: No such file or directory
du: cannot access ‘/proc/20633/fd/4’: No such file or directory
du: cannot access ‘/proc/20633/fdinfo/4’: No such file or directory
43855216    /
38679004    /var
38558036    /var/log
38486524    /var/log/asterisk
18136900    /var/log/asterisk/full.prod-asterisk
15786756    /var/log/asterisk/debug.prod-asterisk
2408012 /var/log/asterisk/cdr-custom
2105416 /usr
2101960 /var/log/asterisk/cdr-csv/Master.csv
2101960 /var/log/asterisk/cdr-csv
2074504 /var/log/asterisk/cdr-custom/Master.csv
1014364 /opt
1002432 /usr/lib
635300  /home/centos
635300  /home
634528  /home/centos/debug.prod-asterisk
490704  /tmp
480260  /tmp/pip.log
403512  /opt/instana/agent
403512  /opt/instana

Než získáte seznam velkých souborů, často se objeví nějaké chyby. To často pochází buď ze souborů, ke kterým nemáte povolen přístup, nebo z jakéhokoli výstupu stderr. Použijte 2>/dev/null ignorovat ty jako v tomto příkazu:

du -a / 2>/dev/null | sort -n -r | head -n 20

Pomocí příkazu find

Můžete použít find k zacílení pouze na soubory ve vyhledávání a zjištění velikosti každého z nich, poté použijte kombinaci řazení a záhlaví k odfiltrování obsahu.

Příklad:

find / -type f -printf '%s %p\n' | sort -nr | head -10

Výše uvedený příkaz vyhledá všechny soubory v systému a poté vytiskne velikost a cestu pomocí %s and %p směrnice . Výsledek je poté veden k seřazení, aby se filtroval od největšího po nejmenší, pak se hlava omezí na 10 výsledků. -n je pro číselné řazení a -r předáno třídění změní výsledek porovnání.

Výstup:

# find / -type f -printf '%s %p\n' | sort -nr | head -10
140737486266368 /proc/kcore
18595594900 /var/log/asterisk/full.prod-asterisk
16179399327 /var/log/asterisk/debug.prod-asterisk
2146986543 /var/log/asterisk/cdr-csv/Master.csv
2114553859 /var/log/asterisk/cdr-custom/Master.csv
649754355 /home/centos/debug.prod-asterisk
484122304 /tmp/pip.log
309011589 /var/log/asterisk/cdr-custom/Simple.csv
141488931 /usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.x86_64/lib/modules
106075056 /usr/lib/locale/locale-archive

Závěr

Z výše uvedeného vysvětlení jste se naučili, jak získat největší a největší soubory a adresáře v Linuxu. Také jsme se naučili, jak používat sort příkaz k třídění vráceného výstupu a head příkaz pouze omezit výsledek na číslo, které jsme zadali.

Chcete-li zjistit více o příkazech, které jsme použili, neváhejte použít manuálové stránky. Použijte tyto příkazy:

man du  
man find  
man sort  
man head  
man tail

Linux
  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Jak najít a seřadit soubory na základě data a času úpravy v Linuxu

  3. Jak najít soubory pomocí příkazu fd v Linuxu

  1. Jak najít soubory s oprávněními SUID a SGID v Linuxu

  2. Jak najít a odstranit prázdné adresáře a soubory v Linuxu

  3. Jak najít všechny soubory končící na .rb s Linuxem?

  1. Najděte soubor pomocí příkazů Najít a najít v Linuxu

  2. Příkazy hledání pro Linux

  3. Jak kopírovat / přesouvat soubory a adresáře v Linuxu pomocí příkazů „cp“ a „mv“.