Hoe kan ik een bestand lokaliseren met locate
in CentOS
onder een specifieke directory van terminal? Lokaliseer doorzoek de hele database!
Answer
Er is geen optie voor die functionaliteit in de uitvoer van man locate
op CentOS 6.5, tenminste. Maar u kunt pseudo-functionaliteit krijgen door een zoekterm te wijzigen. locate cron
kan bijvoorbeeld te veel uitvoer produceren, maar locate "/var/log/cron"
zou de resultaten beperken tot die items in de locate
database die overeenkomen met de zoektermen. Of een pipe zou werken: locate cron | grep "/var/log/"
Gebruik anders find: find /path/to/search -name "*cron*"
of iets dergelijks.
Antwoord
locate
lijkt geen optie te hebben om dit te doen, maar je kunt nog steeds in specifieke mappen zoeken met een van de volgende:
- Gebruik jokertekens bij uw zoekopdracht. Voorbeeld:
locate "*/directory/*filename*"
- Gebruik
grep
metlocate
. Voorbeeld:locate filename | grep /directory/
- Gebruik het
find
commando. Voorbeeld:find /my/directory/ -name filename
. U kunt uw zoekopdracht ook beperken tot mappen of bestanden door-type d
of-type f
toe te voegen. Om een bestand met de naam “myScript” in uw thuismap te vinden, kunt u dit doen:find ~/ -name myScript -type f
. Dit zal zoeken naar een bestand (geen mappen) met de naam exact “myScript” in je thuismap.