Apakah ada mesin pencari file seperti "Semuanya" di Linux?


46

Di Windows ada mesin pencari file bagus bernama Everything , yang (tidak seperti find) sangat cepat dan (tidak seperti locate) selalu mengembalikan hasil yang terbaru. AFAIK berfungsi dengan mengisi basis data dari jurnal NTFS (tidak bekerja dengan sistem file lain).

Saya ingin tahu apakah ada yang serupa (saya tidak peduli dengan GUI; poin saya adalah kecepatan dan jaminan terbaru) untuk Linux (ext3 atau ext4); Saya telah mencari di Google tetapi tidak menemukan apa pun. Bisakah hal seperti ini dilakukan atau bahkan seseorang sedang mengerjakannya?


2
Hal yang saya sukai dari Semuanya adalah tidak hanya instan, tetapi juga berfungsi untuk banyak partisi, seperti sistem multiboot dengan instalasi enam windows plus beberapa partisi data. Saya ingin memiliki pencarian Linux yang akan bekerja di banyak partisi Linux, bukan hanya partisi tunggal.
Arch Parsons

Banyak varian lokasi ada (mlocate, slocate, rlocate, ....) dengan karakteristiknya sendiri (pembaruanb inkremental, pengindeksan realtime atau aman, ...). Semua sangat dapat dikonfigurasi (halaman manual updatedb.conf dan temukan)
Manu H

Jawaban:


30

Anda mungkin melihat rlocate , implementasi ulang lokasi yang selalu terkini. Proyek menarik lainnya adalah recoll yang juga mendukung pengindeksan waktu nyata dan memungkinkan Anda (seperti beagle) juga melakukan pencarian teks lengkap. Akhirnya saya harus menyebutkan doodle yang juga mendukung pengindeksan waktu nyata. Untuk corat-coret ada beberapa frontend bagus seperti lele .

Perhatikan bahwa Anda juga dapat membuat (r) menemukan hasil yang dapat diklik dengan menggunakan misalnya urxvt sebagai terminal-emulator dan dengan menulis sesuatu seperti

URxvt.perl-ext: default,matcher URxvt.urlLauncher: /usr/bin/gnome-open     
URxvt.matcher.button: 1 URxvt.matcher.pattern.1: /.*

(dan mengeksekusi xrdb -load ~/.Xdefaultssetelah itu)


1
Saya pikir jawaban ini harus diterima. rlocateitu sendiri sudah membuat jawaban lengkap.
phunehehe

4
Ada apa di 2017? rlocate menyebutkan Linux 2.6 dan tidak ada paket Ubuntu 16.04. recoll tampaknya menarik dan diperbarui, meskipun berlebihan untuk kebutuhan saya. doodle memiliki paket Ubuntu pada 16.04 jadi mungkin bisa menjadi pilihan.
Stéphane Gourichon

Mengapa mengingat kembali sebuah berlebihan, Anda juga dapat menjalankan recoll dari commandline. Ini juga terintegrasi dengan baik dengan KDE dan persatuan jika Anda mau.
siswa

Masalah terbesar saya dengan catfish adalah ketidakmampuan untuk berinteraksi dengan file - jika saya ingin menyalin 20 file dari hasil pencarian saya perlu Show in File Manager20 kali.
Annan

Dokumentasi rlocate memiliki daftar persyaratan "Konfigurasi kernel" yang saya tidak tahu bagaimana harus memenuhi, dan jika saya membuka dan menjalankannya ./configuresaya diberitahu saya harus "menginstal paket dengan sumber kernel penuh". Alat ini tampaknya tidak terjangkau oleh non-guru.
Qwertie

7

Saya juga mencari alat "Cari Segalanya" untuk linux dan menemukan "Cari Monyet" di repositori Ubuntu. SUKA!

Beratnya ringan, memuat dengan cepat, pencarian kartu liar menghasilkan banyak hasil secara instan, ditambah lagi memiliki filter dan metode pencarian lanjutan.

Saya sekarang memiliki alat pencarian "Semuanya" untuk linux!


Tautannya adalah Patah
Chris Nevill

4

Ide menarik untuk mengimplementasikan ini di-root dalam sistem file, tapi tidak ada yang seperti yang saya ketahui. Terlepas dari beberapa add-on yang mencoba membenamkan diri cukup dalam ke lapisan fs atas untuk mendapatkan data awal (Update: Semuanya termasuk dalam kategori ini sendiri), saya khawatir Anda terbatas pada proses yang kurang memuaskan dari pengindeksan reguler.

Apa yang mungkin paling dekat dengan apa yang Anda cari mungkin adalah sistem file virtual libferris.

Di dunia pengindeksan, Anda mungkin ingin melihat sekilas , yang setidaknya dapat memperbarui dan menambahkan indeksnya.

Pembaruan: Saya baru saja membaca hal-hal tentang "Semuanya", dan sepertinya tidak melekat pada FS juga, jadi libferris tidak terlalu jauh, ditambah juga memungkinkan untuk mengindeks konten, bukan hanya nama file. Itu memuaskan kebutuhan Anda untuk selalu up-to-date setiap saat.


Milis Ferris mengering sejak 2007 dan tidak berlanjut hingga 2010. Ada repositori github yang tidak aktif antara mi-2016 dan Maret 2017 github.com/monkeyiq/ferris/commits/master . Mungkin itu berlanjut.
Stéphane Gourichon


2

Sudahkah Anda memeriksa Angry Search . Ia mengklaim dalam uraiannya bahwa itu seperti Segalanya. FSearch juga mengklaim hal yang sama.


1
Mempertimbangkan berapa banyak hasil pencarian yang Anda tunjuk ke FSearch saat Anda mencari alternatif Evernote untuk Linux, saya terkejut Anda adalah satu-satunya yang mempostingnya di sini.
Ghos3t

1

Seharusnya mungkin untuk membangun sesuatu seperti ini dalam beberapa baris kode menggunakan inotify (ada juga paket inotify-tools yang akan memungkinkan Anda untuk mengimplementasikan ini menggunakan skrip shell).

(Saya akan sangat terkejut bahwa alat seperti itu akan didorong dari jurnal - lebih mungkin itu diterapkan di tingkat sistem file virtual)


1
Saya tidak yakin apakah inotifybisa berguna di sini karena tidak rekursif. Membuat jam tangan untuk seluruh pohon itu sederhana, tetapi bisakah kernel menangani puluhan ribu darinya? Bahkan jika itu bisa, ini tidak terlihat sebagai cara yang efektif bagi saya.
maaartinus


1

btrfstelah mengimplementasikan find-newperintah terhadap subvolume selama bertahun-tahun. Jika Anda menyimpan pohon snapshot yang relatif terbaru, ia dapat digunakan untuk menonton sistem file secara atom untuk semua perubahan dengan sedikit keributan.

Anda akan menggunakannya seperti:

btrfs sub find-new /chk/path [gen-id]

Anda bisa mendapatkan gen-id yang Anda butuhkan untuk perbandingan dengan perintah yang sama, tetapi menggunakan gen-id palsu. Ada info lebih lanjut di sini .


1

Front-end UI untuk perintah loc yang bekerja hampir sama dengan Semuanya:

https://github.com/AlexTuduran/Locator/releases


1
Ini tampaknya dibangun di atas premis palsu yang locatetidak pernah diperbarui secara otomatis.
roaima

Tolong kembangkan. Apa yang Anda maksud dengan lokasi yang diperbarui?
Alex Tuduran

Proyek GitHub Anda menyatakan bahwa perintah Unix locatemenggunakan prinsip yang sama, kecuali bahwa basis data tidak diperbarui secara otomatis . The locatepaket termasuk crontugas yang tidak secara otomatis memperbarui database.
roaima

Jika itu benar, maka itu hanya membantu tujuan alat. Memiliki basis data yang diperbarui secara otomatis membebaskan pengguna dari melakukan tugas lain. Pengguna masih dapat memperbarui database secara eksplisit jika membutuhkan pembaruan segera. Atau apa kekhawatiran di sini tentang premis yang salah?
Alex Tuduran

1

Saya menggunakan Pencarian Marah pada Raspberry Pi 3 B + menjalankan Peregangan dan berfungsi dengan baik. Ini sangat cepat sama seperti Cari Semuanya di windows. Sangat menyenangkan bisa menemukan file dengan sangat cepat.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.