Hur hittar jag en fil med locate
i CentOS
under en specifik katalog från terminal? Leta reda på sök i hela databasen!
Svar
Det finns inget alternativ för den funktionen i utdata från man locate
på CentOS 6.5, åtminstone. Men du kan få pseudofunktionalitet genom att ändra en sökterm. Till exempel kan locate cron
producera för mycket output, men locate "/var/log/cron"
skulle begränsa resultaten till de artiklarna i locate
databas som matchar söktermerna. Eller så skulle ett rör fungera: locate cron | grep "/var/log/"
Annars använder du find: find /path/to/search -name "*cron*"
eller liknande.
Svar
locate
verkar inte ha något alternativ att göra detta, men du kan fortfarande söka i specifika kataloger med en av följande:
- Använd jokertecken i din sökning. Exempel:
locate "*/directory/*filename*"
- Använd
grep
medlocate
. Exempel:locate filename | grep /directory/
- Använd kommandot
find
. Exempel:find /my/directory/ -name filename
. Du kan också begränsa din sökning till kataloger eller filer genom att lägga till-type d
eller-type f
. För att hitta en fil med namnet ”myScript” i din hemmapp kan du göra detta:find ~/ -name myScript -type f
. Detta söker efter en fil (inte kataloger) med namnet exakt ”myScript” i din hemmapp.