Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Cand suntem anuntati ca nu mai exista spatiu pe o anumita partitie, cel mai simplu e sa cautam fisierele mari si sa le stergem daca nu mai avem nevoie de ele. In linia de comanda cautarea fisierelor se face folosind utilitarul find care detine o sintaxa foarte complexa si flexibila. Pentru cautare vom folosi pentru comanda find parametri type pentru a specifica tipul fisierului cautat, size pentru a specifica marimea minima a fisierului, si optional exec pentru a rula o anumita comanda cand fisierul este gasit sau print daca dorim doar afisarea fisierului.

[email protected]:~$ find . -type f -size +10M -print
./.mozilla/firefox/o2hj7v9w.default/urlclassifier3.sqlite
./.netbeans/6.5/modules/Libraries/Java16.etd
./Desktop/easypeasy-1.1.iso
./Desktop/charity.iso
./.local/share/Trash/files/firefox/libxul.so
[email protected]:~$

Comanda de mai sus ne-a facut lista fisierelor care au mai mult de 10M, dupa cum spune valoarea +10M data prin parametrul size. Daca ne-ar fi interesat, de exemplu, sa stim marimea exacta a fisierului gasit am fi putut folosi in loc de parametrul print parametrul exec dupa cum urmeaza:

[email protected]:~$ find . -type f -size +10M -exec du -h '{}' \;
29M	./.mozilla/firefox/o2hj7v9w.default/urlclassifier3.sqlite
11M	./.netbeans/6.5/modules/Libraries/Java16.etd
914M	./Desktop/easypeasy-1.1.iso
4.1G	./Desktop/charity.iso
14M	./.local/share/Trash/files/firefox/libxul.so
[email protected]:~$

Comenzii find i-am pasat in loc de print parametrul exec du -h ‘{}’ \; care a rulat comanda du -h pe fiecare fisier gasit, comanda care returneaza marimea exacta a fisierului in cauza.

Linux

2 Responses so far.

  1. Viorel says:

    Salut, Sergiu!
    Vreau ca dintr-un directoriu sa caut alte foldere care nu au nimic in ele si sa le mut in alt directoriu…
    Am incercat sa dau urmatoarea comanda dar nu merge, ai pute-a sa te uiti si sa o corectezi….?
    iata comanda: # find /windows/F/Recavery/New\ Folder/ -type d -size 0 -exec mv ‘{}’ /windows/F/Recavery/New\ Folder/Folderegoale/;
    multumesc, Viorel

  2. Sergiu says:

    -size” se foloseste doar in cazul fisierelor. Pentru foldere, ca sa vezi daca sunt goale, folosesti parametrul „-empty„, iar caracterul ; trebuie precedat de backslash nu de slash:

    # find /windows/F/Recavery/New Folder/ -type d -empty -exec mv '{}' windows/F/Recavery/New Folder/Folderegoale ;