Linuxでファイルを見つけるための「locateコマンド」をインストールする方法
locateは、Linuxで名前によってファイルを探すためのコマンドラインユーティリティで、findコマンドと同様です。しかし、locateはその対抗手段よりも効率的に動作します。これは、updatedbプログラムによって作成された1つまたは複数のデータベースを使用し、ユーザーが提供するパターンのいずれかに一致するファイル名を標準出力に印刷します。
locate コマンドは GNU findutils または mlocate パッケージによって提供されています。これらのパッケージは、プログラムの同じ実装を提供することで知られています。ほとんどの CentOS/RHEL システムでは、findutils が最初からインストールされていますが、locate コマンドを実行しようとすると、次のエラーに遭遇することがあります:
-bash: locate: command not found
この記事では、Linuxシステムでファイルを見つけるためのlocateおよびupdatedbコマンドを提供するmlocateパッケージのインストール方法を紹介します。
以下は、上記のエラーとfindutilsパッケージをクエリするサンプル出力です。
$ locate bash_completion.sh
rpm -qa | grep findutils
mlocateをインストールするには、Linuxディストリビューションに応じてYUMまたはAPTパッケージマネージャーを使用してください。
$ sudo yum install mlocate [On CentOS/RHEL]
sudo apt install mlocate [On Debian/Ubuntu]
mlocateをインストールした後、updatedbを更新する必要があります。これはlocateコマンドがルートユーザーとしてsudoコマンドで使用するもので、そうしないとエラーが発生します。デフォルトのデータベース保存場所は/var/lib/mlocate/mlocate.dbです。
$ sudo updatedb
データベースが更新されたので、今度はlocateコマンドを実行してみてください。今度はうまくいくはずです。
$ locate bash_completion.sh
入力したパターンに正確に一致するものを見つけるには、この -b オプションと、以下の構文のように \ グロビングオプションを使用します。
$ locate -b '\bash_completion.sh'
注: LOCATE_PATH 環境変数を使用して、デフォルトデータベースやコマンドラインで -database フラグを使用して列挙されたデータベースの後に読み込まれる追加データベースへのパスを設定できます。
以上です!このガイドでは、Linuxシステムでlocateおよびupdatedbコマンドを提供するmlocateパッケージのインストール方法を示しました。下のフィードバックフォームを通じて、あなたの意見をお聞かせください。

