Jawaban:
Pendekatan lain adalah dengan menggunakan pencocokan pola di locate:
locate '/some/directory/*filename*'
Bandingkan output dari perintah di bawah ini:
$ 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* memberikan hasil yang sama.
$ locate '/usr/lib64/*tmpfile'akan mengembalikan hasil.
locatemelalui grep.
Buat database slocate untuk direktori spesifik Anda dengan:
updatedb -U /path/to/directory
dan cari dengan:
locate <search_string>
MEMPERBARUI
Ini berfungsi baik pada sistem Gentoo saya tetapi CentOS tidak menyertakan -Uopsi. Jadi, Anda dapat mencoba di bawah ini sebagai gantinya:
Bangun basis data dengan:
# updatedb -U /path/to/dir -o dir_locate.db
dan cari:
# locate -d dir_locate.db <search_string>
updatedb: can not change group of file 'db.db.kHhzFz' to 'mlocate': Operation not permitted periksa cara menggunakan perintah updatedb sebagai pengguna biasa di linux .
locatepencarian dalam direktori yang ditentukan:alias my_locate="updatedb -U /path/to/yourdir -o /path/to/your_dir_locate.db; locate -d /path/to/dir_locate.db "Setelah alias efektif, pada jenis terminalmy_locate *foo*dan Anda akan pergi ke balapan. Anda dapat menyatukan pembaruan basis data dan menemukan pencarian dengan menggunakan karakter titik dua ke basis data concat. rtfm: linux.die.net/man/8/updatedb