luni, ianuarie 26, 2009

Stergerea eficienta a fisierelor

Se intampla uneori sa avem multe fisiere concentrate intr-un director sau in mai multe directoare, pe care vrem sa le stergem. In general, rm -r $nume_direcor nu e o idee buna, intrucat daca numarul de fisiere este de cateva mii eficienta e foarte slaba.


Tocmai de aceea, pentru aceasta operatiune putem folosi xargs. xargs controleaza modul in care argumentele unei comenzi sunt manipulate. Cel mai eficient in cazul unei stergeri ar fi sa lansam o instanta de rm cu mai multe argumente(fisiere ce urmeaza a fi sterse) decat mai multe instante de rm cu un singur fisier. Daca ne folosim si find 'exec' putem selecta exact si tipul de fisiere pe care dorim sa le stergem.

Iata cum arata o comanda de stergere extrem de eficienta (in cazul de fata e vorba de stergerea tuturor fisierelor din directorul curent:

find . -type f | xargs rm -f

Un comentariu:

Ionut spunea...

sau:

find . -type f -exec rm -rf {} \;