Portál AbcLinuxu, 26. dubna 2024 09:12

Úklid disku - skript

5.7.2008 19:01 | Přečteno: 1344× | Linux | poslední úprava: 5.7.2008 19:08

Zase mám plný disk a je ho potřeba uklidit. Ruční prolézání a hledání největších macků není moc efektivní. Kdysi jsem používal aplikaci filelight, která pěkně v grafech ukázala, které adresáře / soubory zabírají nejvíc místa. Dneska jsem si řekl, že to půjde i bez ní a v konsoli.

Nebudu vás napínat, napsal jsem si skript, který vypíše x největších složek nebo souborů. X je parametr skriptu. Bez parametru skript vypíše všechno. Důležité je, že to počítá velikost každého adresáře zvlášť (du díky parametru -S nebere ohled na velikost zabranou podadresáři). Skript zobrazí jen velký adresář, ale už ne automaticky adresář ve kterém leží. U souboru to bohužel neplatí, skript ukáže jak velký soubor, tak jeho adresář, jiné chování by skript asi dost zkomplikovalo. Další výhodou skriptu je barevné zvýraznění (používa k němu ls, musíte ho mít zaplé v systému), které rozliší soubor, adresář, atd...

Skript bych sám asi tak jednoduše nestvořil, muselo mi pomoct pár známých, kteří bash umí podsatně lépe než já ;-), jmenování být nechtějí, takže jim aspoň takhle poděkuji. Příšte prý ale budou chtít autorské poplatky... :-P


#!/bin/bash
P="tee"
if [ $1 ]; then P="head -n ${1}"; fi
du -a -S --block-size m | sort -nr | $P | while read SIZE NAME; do echo $SIZE `ls -aFhd --color=always "${NAME}"`; done

Výstup skriptu vypadá nějak takhle:

/usr/games $ space 9
15M ./bin/
4M ./bin/wesnoth-svn*
4M ./bin/wesnoth*
2M ./lib/torcs/
2M ./bin/wesnoth_editor-svn*
2M ./bin/wesnoth_editor*
2M ./bin/supertuxkart*
1M ./share/pixmaps/supertuxkart_64.xpm
1M ./share/pixmaps/supertuxkart_32.xpm
       

Hodnocení: 100 %

        špatnédobré        

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

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

5.7.2008 19:15 jgv | skóre: 13
Rozbalit Rozbalit vše Re: Úklid disku - skript
Odpovědět | Sbalit | Link | Blokovat | Admin
Takovy xdiskusage taky neni k zahozeni :-)
5.7.2008 19:27 koffr
Rozbalit Rozbalit vše Re: Úklid disku - skript
krusader -> nástroje -> obsazenost disku ;)
freshmouse avatar 5.7.2008 22:36 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: Úklid disku - skript
Já používám Baobab, ani ten není k zahození. :-)
6.7.2008 04:09 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Úklid disku - skript
Baobaby se obecně špatně zahazují, jsou na házení trošku neforemné. :-)
5.7.2008 19:48 volvox
Rozbalit Rozbalit vše Re: Úklid disku - skript
Odpovědět | Sbalit | Link | Blokovat | Admin
Já používám tohle: ncdu » NCurses Disk Usage
6.7.2008 01:24 abr | skóre: 24 | blog: ab
Rozbalit Rozbalit vše Re: Úklid disku - skript
Taktak, nac vymyslet kolo znova, kdyz uz je tu tato utilitka.
6.7.2008 11:26 Ritchie | skóre: 27 | blog: Ritchie's | Berlin
Rozbalit Rozbalit vše Re: Úklid disku - skript
Díky za dobré nasměrování, hned jsem si ji nainstaloval.
6.7.2008 17:34 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Úklid disku - skript
vypada to velice dobre. skoda, ze takoveto programky nejsou notoricky zname...alespon me...
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
5.7.2008 20:16 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Úklid disku - skript
Odpovědět | Sbalit | Link | Blokovat | Admin
ja si vystacim s obycejnym du -x | sort -n | less
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
5.7.2008 20:34 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Úklid disku - skript
Tak taky se dá, ale já mám ještě barvičky :-) ;-)...
Baník pyčo!
5.7.2008 21:22 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Úklid disku - skript
Odpovědět | Sbalit | Link | Blokovat | Admin
U souboru to bohužel neplatí, skript ukáže jak velký soubor, tak jeho adresář, jiné chování by skript asi dost zkomplikovalo.
pomohlo by basename?
In Ada the typical infinite loop would normally be terminated by detonation.
5.7.2008 22:10 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
Rozbalit Rozbalit vše Re: Úklid disku - skript
Ne. Ale tak ten "problém" se dá brat i jako feature, du v mém skriptu vypíše největší soubory a největší adresáře. Tím se do výpisu dostane i adresář ve kterém je třeba jeden velký soubor. Když nad tím ale přemýšlím tak je to spíše ok a nesnažil bych se to nějak měnit (ono by to šlo dost těžce), radši na to ale upozorňuji. Du v tom skriptu prostě vyhledává největší adresáře a soubory ve výpisu to zobrazuje jaksi navíc (jde vypnout ubráním optionu -a)
Baník pyčo!

Založit nové vláknoNahoru

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