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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *