Recent m-am intrebat care este comanda CLI care as putea sa o utilizez, in scopul dstergerii tuturor fisierele mai vechi de X zile. Tot ce as avea de facut sa fie sa utililez o comanda linux pentru a face asta.
Am descoperit ca trebuie sa folosesc comanda “find
” pentru a filtra aceste fisiere si apoi selectati-le pentru a sterge.
Sintaxa comenzii:
find /path/to/files* -mtime +5 -exec rm {} \;
Aceasta comanda cauta fisierele mai vechi de 5 zile in dosarul mentionat si le sterge pe toate.
Explicatie
- Primul argument este calea catre fisiere. Aceasta poate fi o cale, un director, sau un wildcard ca in exemplul de mai sus. As recomanda, sa folositi calea completa, si asigurati-va ca rulati comanda fara RM exec pentru a va asigura ca obtineti rezultatele corecte.
- Al doilea argument, -mtime
, este folosit pentru a specifica numarul de zile, care arata cat de vechi este fisierul. Daca introduceti 5, se vor gasi fisierele mai vechi de 5 zile.
- Al treilea argument, exec
, va permite sa treceti intr-o comanda, cum ar fi rm
. Caracterele de la sfarsit {}\;
sunt necesare pentru a incheia comanda.
Aceasta comanda ar trebui sa functioneze pe Ubuntu, Suse, Redhat, si pe multe versiuni de Linux.