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 met locate. 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.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *