Respuestas:
Otro enfoque sería utilizar la coincidencia de patrones en locate:
locate '/some/directory/*filename*'
Compare la salida de los comandos a continuación:
$ locate tmpfile
/usr/lib64/perl5/auto/POSIX/tmpfile.al
/usr/share/man/fr/man3/tmpfile.3.gz
/usr/share/man/ja/man3/tmpfile.3.gz
/usr/share/man/man3/tmpfile.3.gz
/usr/share/man/man3p/tmpfile.3p.gz
$
$ locate '/usr/lib64/*tmpfile*'
/usr/lib64/perl5/auto/POSIX/tmpfile.al
$
locate /usr/lib*tmpfile* da el mismo resultado.
$ locate '/usr/lib64/*tmpfile'no devolverá resultados.
locatea través grep.
Cree una base de datos de slocate para su directorio específico con:
updatedb -U /path/to/directory
y busca con:
locate <search_string>
ACTUALIZAR
Esto funciona bien en mi sistema Gentoo, pero CentOS no incluye la -Uopción. Entonces, puedes probar a continuación en su lugar:
Construya la base de datos con:
# updatedb -U /path/to/dir -o dir_locate.db
y busca:
# locate -d dir_locate.db <search_string>
updatedb: can not change group of file 'db.db.kHhzFz' to 'mlocate': Operation not permittedverifique cómo usar el comando updatedb como usuario ordinario en Linux .
locatebúsquedas dentro de un directorio específico: unaalias my_locate="updatedb -U /path/to/yourdir -o /path/to/your_dir_locate.db; locate -d /path/to/dir_locate.db "vez que el alias es efectivo, en el tipo de terminalmy_locate *foo*y estás fuera de las carreras. Puede concatenar las actualizaciones de la base de datos y localizar la búsqueda utilizando el carácter de dos puntos para concatenar las bases de datos. rtfm: linux.die.net/man/8/updatedb