Cum pot localiza un fișier folosind locate
în CentOS
sub un anumit director de la terminal? Găsiți căutați întreaga bază de date!
Răspuns
Nu există nicio opțiune pentru acea funcționalitate în ieșirea din man locate
pe CentOS 6.5, cel puțin. Dar, puteți obține pseudo-funcționalitate schimbând un termen de căutare. De exemplu, locate cron
ar putea produce prea mult rezultat, dar locate "/var/log/cron"
ar limita rezultatele la acele elemente din locate
bază de date care corespund termenilor de căutare. Sau, o conductă ar funcționa: locate cron | grep "/var/log/"
În caz contrar, utilizați find: find /path/to/search -name "*cron*"
sau similar.
Răspuns
locate
nu pare să aibă o opțiune pentru a face acest lucru, dar puteți totuși căuta directoare specifice folosind unul dintre următoarele:
- Utilizați metacaracterele în căutarea dvs. Exemplu:
locate "*/directory/*filename*"
- Utilizați
grep
culocate
. Exemplu:locate filename | grep /directory/
- Utilizați comanda
find
. Exemplu:find /my/directory/ -name filename
. De asemenea, puteți să vă restrângeți căutarea la directoare sau fișiere adăugând-type d
sau-type f
. Pentru a găsi un fișier numit „myScript” în folderul de acasă, puteți face acest lucru:find ~/ -name myScript -type f
. Aceasta va căuta un fișier (nu directoare) numit exact „myScript” în dosarul dvs. de acasă.