Debian の「locate」の代替

Debian の「locate」の代替

CentOs ではファイルを見つけるために「locate」コマンドをよく使います。

Debian でこのコマンドの代替手段は何ですか?

答え1

お勧めしますlocate

sudo apt-get install locate

答え2

見つける
言葉自体が示唆するように見つけるファイルをインストールできるかもしれないlocateコマンド、元のGNU findutilsここにコード)、または新しい実装からDebianバスター(右側にソースへのリンクがあります)。

どこに
探すだけコマンドのバイナリ、ソース、マニュアルページファイルwhereis覚えておけば、いつでも を使うことができますwhereis にはハードコードされたパスがあるため、探しているものが必ずしも見つかるとは限りません。(ハードコードされたパスに含まれていない場合)。

whereisコマンドはutil-linuxパッケージの一部であり、以下から入手可能です。 参考:

どれの
どれの代わりにコマンドを見つけてファイル(またはリンク)のパス名を返します実行される現在の環境では、$PATHを検索して引数の名前に一致する実行可能ファイルの場合。
オプションと一緒に使用すると、-a各引数に一致するすべてのパス名が出力されます。

探す
時間的には効率が悪く、データベースがないので遅くなりますが、提案されるソリューションの点ではより効率的になる可能性があります。Locate はデータベースが更新されている必要があります (updatedb頻繁に実行)。そうでない場合は、結果が不完全または不正確になります。さらに、一部の拡張子またはディレクトリがデータベースから除外されている可能性があります (/etc/updatedb.confファイルを参照)。

デスクトップソリューション
インデックスされたプログラムのみを検索する場合は、データベースデスクトップ用のプロジェクトを見ることができます。 ネポムクストリギソプラノKDE名人そしてアコナディ、 それでもデスクバーアプレットビーグルGnome 用。廃止された Google デスクトップに似ています。
一部のデータベース システムは、コマンド ラインからも使用できます。

答え3

Debian でも使用できますlocate。インストールするだけでよいかもしれません。locate パッケージと mlocate パッケージの (少なくとも) 2 つの実装が利用可能です。

どちらかをインストールするとlocateコマンドが提供されます。

mlocate バージョンには、いくつかの追加機能 (権限に基づいて名前を非表示にする、インデックス作成を高速化する) があります。

答え4

銀の探求者

私はそれを使って見る内部ソースコード/ファイルとこのエイリアスは位置するファイル名の場合:

alias superlocate='bash -xc '\''ag -g $0 --hidden'\''  2>/dev/null'

ノート

  • おそらく、これとそれ以上のことは で実現できるでしょうripgrep
  • また、今では人気が出てきていますがplocate、これはより速いですが、--transliterateオプションが不足しています。私は見つけた非常に便利です。
  • より早く見つけるには翻訳

関連情報