Hvordan kan jeg finde en fil ved hjælp af locate
i CentOS
under en bestemt mappe fra terminal? Find søg i hele databasen!
Svar
Der er ingen mulighed for den funktionalitet i output fra man locate
i det mindste på CentOS 6.5. Men du kan få pseudofunktionalitet ved at ændre et søgeudtryk. For eksempel kan locate cron
muligvis producere for meget output, men locate "/var/log/cron"
vil begrænse resultaterne til disse emner i locate
database, der matcher søgeudtrykkene. Eller et rør fungerer: locate cron | grep "/var/log/"
Ellers skal du bruge find: find /path/to/search -name "*cron*"
eller lignende.
Svar
locate
ser ikke ud til at have en mulighed for at gøre dette, men du kan stadig søge i specifikke mapper ved hjælp af et af følgende:
- Brug jokertegn i din søgning. Eksempel:
locate "*/directory/*filename*"
- Brug
grep
medlocate
. Eksempel:locate filename | grep /directory/
- Brug kommandoen
find
. Eksempel:find /my/directory/ -name filename
. Du kan også begrænse din søgning til mapper eller filer ved at tilføje-type d
eller-type f
. For at finde en fil med navnet “myScript” i din hjemmemappe kan du gøre dette:find ~/ -name myScript -type f
. Dette søger efter en fil (ikke mapper), der hedder nøjagtigt “myScript” i din hjemmemappe.