Faceți căutări pe acest blog

sâmbătă, 3 decembrie 2011

Unde ești mă? Kfind, locate, find...

 Pentru căutarea (mai precis pentru găsirea...) unor fișiere sau directoare, putem folosi atât unelte cu interfață grafică cât și utilitare CLI. Din prima categorie mă voi referi la utilitarele prezente implicit în KDE.

 Kfind
 Kfind este instalat implicit în majoritatea distribuțiilor ce folosesc Kde ca mediu grafic și poate fi lansat în următoarele moduri:
1- clic pe categoria ”Find Files/Folders” din meniul Kde clasic (în cazul că avem meniul Kde Kickoff , stil de meniu ce conține caseta ”Search”, vom căuta în acea casetă);









2- cu ajutorul krunner: în caseta apărută prin apăsarea combinației de taste Alt+F2 tastăm kfind, apăsăm Enter;
3- din consolă, cu comanda kfind;
4- asigurând aplicației o combinație personală de taste: Meniu- Edit Applications...- Find Files/Folders- Advanced- Current shortcut key- clic pe ”None”- apăsăm combinația dorită- clic ”Save” din bara de unelte din partea de sus a ferestrei; alternativ putem seta acest shortcut/ hotkey din System Settings- Shortcut and Gestures- Custom Shortcuts- Edit- New- Global shortcut- Command/URL- în loc de New Action scriem kfind- în tabul Action scriem kfind- în tabul Trigger clic pe None- apăsăm combinația de taste- Apply.









5- direct din managerul de fișiere:
- Dolphin- Find (sau cu tasta F12), sau Dolphin- Settings- Configure Toolbars- tragem cu mouse-ul ”Find” din partea stângă a ferestrei în partea dreaptă (sau clic pe săgeata spre dreapta)- Apply- Ok și pe viitor vom avea în bara de unelte din partea de sus a ferestrei Dolphin butonul ”Find”.
- Krusader: Tools- Search (sau Ctrl+s) sau cu butonul ”Search” din bara de unelte.


 Ok, am văzut cum pornim kfind, hai să vedem ce poate acesta.
1- Kfind poate căuta fișiere/ directoare după nume și locație (tabul Name/Location). În aseta ”Named” trecem numele căutat, în caseta ”Look in” alegem unde anume va căuta kfind,  putem bifa/ debifa căsuțele referitoare la căutarea în subdirectoare, căutarea obiectelor ascunse, ignorarea majusculelor (case sensitive), iar cu clic pe ”Find” sau apăsând Enter începem căutarea.


2- În tabul ”Contents” putem alege tipul fișierelor căutate, sau text conținut.


3- În tabul ”Properties” putem rafina căutarea după mulți alți parametri:
- timp: căutare fișiere create/ modificate într-un anumit interval de timp, sau în cursul ultimei ore, zile, etc;
- dimensiune: căutare fișiere de exact, cel puțin, cel mult x Kb, Mb, Gb;
- proprietar: căutare doar a fișierelor ce aparțin unui user sau grup.


Dacă folosiți mult consola/ terminalul, sau dacă vă aflați intr-un tty unde (evident), nu puteți folosi uneltele interfeței grafice, există utilitare CLI pentru căutare: locate și find, pachete ce vin implicit în unele distribuții, în altele trebuie instalate locate (sau mlocate, slocate) și find..

 Locate
 Este o aplicație mai modestă, care doar localizează fișierele căutate după nume. În prima fază trebuie dată comanda updatedb ca root, pentru indexarea fișierelor, apoi putem căuta un obiect oarecare cu comanda locate fișier (locate captura, de exemplu).

 Find
 Ei, acum putem vorbi de un utilitar inteligent, ce folosește abordarea brute-force cu ajutorul căruia putem rafina la maxim căutarea fișierelor noastre. Find poate căuta fișiere după:
- nume: parametrul -name (case sensitive= ia în considerație majusculele, deci numele EXACT) sau -iname (case insensitive= nu ia în considerație majusculele, va afișa de exemplu și captura și Captura); comanda va fi de genul: find /etc -name .bashrc, și putem căuta în mai multe locații odată: find /etc /home/dan /home/shogun -name .bashrc, sau dacă nu prea știm unde anume să căutăm putem căuta direct în directorul rădăcină /: find / -name .bashrc. Pentru căutările în afara directorului nostru /home, e bine să folosim contul de root pentru a preveni mesajele de eroare în privința permisiunilor, dar nu e obligatoriu.
- dimensiune: param.etrul -size (-size 200M = dimensiune de exact 200Mb, -size +200M = mai mari de 200 Mb, -size -200 = mai mici de 200 Mb/ 200Mb e un exemplu, puteți trece ce valoare doriți);
- permisiuni: parametrul -perm (de exemplu pentru a căuta în /usr/bin toate fișierele cu permisiuni 755 vom da comanda: find /usr/bin -perm 755);
- tip: parametrul -type urmat de tipul fișierelor căutate (-type f= fișiere normale, d= directoare, p= pipe, l= link, etc);
- proprietar: parametrul -user, astfel putem căuta doar fișierele unui anumit user (find ~/Documents -user shogun);
- timpul creării/ modificării: parametrii -mtime pentru căutare pe bază de zile (se caută implicit după perioade de 24 de ore, -mtime 0 și -mtime -1 se referă la ziua curentă, -mtime +2 se referă la fișierele mai vechi de două zile, -mtime -7 la fișiere mai recente de 7 zile, etc) și -mmin pentru căutare a obiectelor mai recent create (-mmin -10 va căuta doar fișierele create în ultimele 10 minute).


 Mai sunt parametri utili, dar hai să vedem ce putem face cu obiectele descoperite, de găsit le-am găsit, scopul oricum ar fi altul, nu? Putem șterge aceste fișiere (find -name test01 -delete   = această comandă caută fișierul numit test01 și îl șterge la găsire: ATENȚIE !!! va șterge TOATE fișierele găsite care se potrivesc tiparului folosit la căutare... :( ), putem reda un fișier audio/ video (find -iname ying* -exec mplayer {} \;   = comandă ce va căuta fișiere al căror nume începe cu ying sau Ying și le va reda cu mplayer; find -name *.avi -exec mplayer {} \;   = comandă ce va căuta ORICE/ TOATE fișierele .avi și le va reda cu mplayer, într-un gen de playlist...).


 Pentru alte amănunte dați man find în consolă.

 UPDATE:  dacă la rularea unei comenzi de genul find -name *.avi -exec mplayer {} \; primiți eroarea: find: paths must precede expression:..., modificați comanda în: find -name '*.avi' -exec mplayer {} \; sau find -name "*.avi" -exec mplayer {} \; (încadrați ”ținta”, tiparul căutării între ' ' sau " " ).

Niciun comentariu:

Trimiteți un comentariu

Back to top