Portál AbcLinuxu, 10. května 2025 08:40

Dotaz: pocet souboru v adresari

7.5.2008 14:08 David | skóre: 21 | Praha
pocet souboru v adresari
Přečteno: 1165×
Odpovědět | Admin
Zdravim, neni to tak triv, jak to na prvni pohled vypada. Mejme produkcni stroj, na kterem se vyskytuji adresare ktere jsou normalni (pocet souboru v nich neni vysoky) a adresare, ktere jsou nenormalni (pocet souboru ve stovkach tisicu). Ja bych potreboval seznam tech nenormalnich adresaru. Hacek je v tom, ze ls v nenormalnim adresari ma za dusledek to, ze stroj takrka vytuhne a to si nemuzu dovolit, i du narazi na uplne stejny problem.
S pozdravem,
David
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.5.2008 14:14 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: pocet souboru v adresari
Odpovědět | | Sbalit | Link | Blokovat | Admin
Každý soubor přidává link na adresář .. Stačí tedy spočítat počet hardlinků. Zkuste find -links +POČET_SOUBORU_OD_KTERÝCH_ADRESÁŘ_NENÍ_NORMÁLNÍ.
7.5.2008 14:17 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: pocet souboru v adresari
Ješte by bylo dobré hledání omezit jen na adresáře (-type d a na nějakou hloubku -maxdepth N), abyste si ten počítač nezavařil. Případně snižte (io)prioritu findu.
7.5.2008 14:50 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: pocet souboru v adresari
Nj, jenze tohle mi spocita pocet podadresaru v danem adresari (podle meho nazoru soubory v adresari hardlinky nepridavaji). Jinak samozrejme dekuji za reakci.
7.5.2008 15:25 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: pocet souboru v adresari
Pravda. Dle POSIXu to nelze zjistit jinak, než že si otevřete adresář a přečtete v něm všechny soubory.

Konktrétně ls standardně řadí a zjišťuje spoustu dalších atributů. ls -U1|wc -l by mohl být efektivnější. Avšak i tak je to zbytečné.

Jako odhad by mohla sloužit velikost adresáře: stat -c '%s %n' ADRESÁŘ.
7.5.2008 15:27 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: pocet souboru v adresari
No zkusim tohle pustit v noci
cd / ; find -type d -size +100000c > /var/tmp/velike_adresare.txt
a uvidime co z toho vyleze ;)
7.5.2008 16:32 alik
Rozbalit Rozbalit vše Re: pocet souboru v adresari
Odpovědět | | Sbalit | Link | Blokovat | Admin
pokud je vykon zasadni, stalo by myslim za to napsat si kratkou utilitku v cecku (a treba ji nejak kombinovat s findem).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.