Ako získam veľkosť adresára v príkazovom riadku?

Pokúsil som sa zistiť veľkosť adresára (obsahujúceho adresáre a podadresáre) pomocou príkazu ls s voľbou l. Zdá sa, že to funguje pre súbory (ls -l názov súboru), ale ak sa pokúsim získať veľkosť adresára (napríklad ls -l /home), dostanem len 4096 bajtov, hoci celkovo je to oveľa viac.

Riešenie

du -sh file_path

Vysvetlenie

  • Príkaz du (disc usage) odhaduje využitie priestoru na file_path

  • Možnosti -sh sú (z man du):

       -s, --summarize
              zobrazí len celkový súčet pre každý argument
    
       -h, --human-readable
              vypísať veľkosti v ľudsky čitateľnom formáte (napr. 1K 234M 2G)

    Ak chcete skontrolovať viac ako jeden adresár a zobraziť celkový počet, použite du -sch:

       -c, --total
              vytvorí celkový súčet
Komentáre (4)

du je váš priateľ. Ak chcete len zistiť celkovú veľkosť adresára, skočte do neho a spustite ho:

du -hs

Ak chcete tiež vedieť, ktoré podpriečinky zaberajú koľko miesta na disku? Tento príkaz môžete rozšíriť na:

du -h --max-depth=1 | sort -hr

ktorý vám poskytne veľkosť všetkých podpriečinkov (úroveň 1). Výstup bude zoradený (najväčší priečinok na vrchu).

Komentáre (3)

Príkaz du zobrazí využitie disku súboru.

Voľba -h zobrazuje výsledky v ľudsky čitateľnej forme (napr. 4k, 5M, 3G).

du -h (file name)
Komentáre (0)