Windowsには Everything と呼ばれる素晴らしいファイル検索エンジンがあり、(find
とは異なり)非常に高速であり、(locate
とは異なり)常に最新の結果を返します。 AFAIKは、NTFSジャーナルからデータベースにデータを入力することで機能します(他のファイルシステムでは機能しません)。
Linux(ext3またはext4)にも同じようなもの(私はGUIは気にしません。私のポイントは速度と最新の保証です)があるのでしょうか。私はグーグルで検索しましたが、何も見つかりませんでした。このようなことはできますか、それとも誰かがそれに取り組んでいますか?
常に最新のロケートの再実装である rlocate をご覧ください。もう1つの興味深いプロジェクトは recoll で、これは リアルタイムインデックス もサポートし、(ビーグルのように)さらにフルテキスト検索を実行できます。最後に doodle についても触れておきます。これはリアルタイムのインデックス作成もサポートしています。 Doodleには catfish のような素敵なフロントエンドがいくつかあります。
たとえば、ターミナルエミュレーターとしてurxvtを使用し、次のように記述することで、(r)locateの結果をクリック可能にすることもできます。
URxvt.Perl-ext: default,matcher URxvt.urlLauncher: /usr/bin/gnome-open
URxvt.matcher.button: 1 URxvt.matcher.pattern.1: /.*
(そしてxrdb -load ~/.Xdefaults
その後)
Linux用の「すべて検索」ツールも検索していて、Ubuntuリポジトリで"Search Monkey"を発見しました。 LOVE IT!
それは軽量で、迅速にロードされ、ワイルドカード検索は大量の結果を即座に生成し、さらにフィルターと高度な検索方法を備えています。
Linux用の「すべて」の検索ツールが復活しました。
ファイルシステムに根ざしたこれを実装する興味深いアイデアですが、私の知る限り、そのようなものは存在しません。データを早期に取得するために上位のfsレイヤーに十分に穴をあけようとするいくつかのアドオン(更新:すべてがこのカテゴリ自体に分類されます)を除いて、満足度の低いプロセスに制限されていると思います定期的なインデックス作成。
あなたが探しているものに最も近いものはlibferris仮想ファイルシステムかもしれません。
インデックス作成の世界では、少なくともインデックスを更新および追加できる glimpse を確認することをお勧めします。
更新:私は「すべて」に関するものを読んだだけで、FSにも固有のものではないようです。そのため、libferrisはそれほど遠くないわけではありません。ファイル名だけでなく、コンテンツ。常に最新である必要性を満たします。
Straspを実行しているRaspberry Pi 3 B +でAngry Searchを使用していますが、正常に動作します。 Windowsの「すべてを検索」と同じように、非常に高速です。ファイルをすばやく見つけることができるのはとても素晴らしいことです。
locate
コマンドを使用できます。そのデータベースを更新する場合は、次のコマンドを実行します。
# updatedb
このコマンドは、数秒でロケートデータベースを更新します
btrfs
は、サブボリュームに対してfind-new
コマンドを何年も実装しています。比較的最新のスナップショットツリーを保持している場合、それを使用してファイルシステムをすべての変更についてアトミックに監視することができます。
あなたはそれを次のように使うでしょう:
btrfs sub find-new /chk/path [gen-id]
同じコマンドとの比較に必要なgen-idを取得できますが、偽のgen-idを使用しています。 詳細はこちら があります。
Angry Search をチェックしましたか?それはその説明の中で、それがすべてのようなものであると主張しています。 FSearch も同じことを主張しています。
Inotifyを使用して、数行のコードでこのようなものを構築できるはずです(シェルスクリプトを使用してこれを実装できるinotify-toolsパッケージもあります)。
(私はそのようなツールがジャーナルから駆動されることに非常に驚かされるでしょう-おそらくそれは仮想ファイルシステム層に実装されています)
beagle を試してみてください。残念ながら http://www.beagle-project.org は現在パークドメインです-ウィキペディア。
Everythingとほぼ同じように機能するLocateコマンドのUIフロントエンド:
FSearch 、これはすべての検索エンジンに触発されたものです。