locate コマンド:ファイル検索
コマンドの概要
locate
コマンドは、システム上で高速にファイルを検索するためのコマンドです。検索は事前に構築されたデータベースを使用して行われ、非常に迅速に結果を返します。
ファイル名やディレクトリの名前、保存した場所を忘れた場合に、このコマンドを使用すると便利です。
コマンドの主なオプションと説明
オプション | 説明 |
---|---|
-c | 検索された数を表示する。 |
-d | 他の検索用データベースファイルのパスを指定します。 |
-e | 存在するファイルやディレクトリのみを検索する。 |
-i | 大文字小文字を区別しないで検索します。 |
-l | 出力件数を指定します。 |
-q | エラーメッセージを無視します。 |
-r | 正規表現を使用してファイル名を検索します。 |
-w | パス全体で検索します。デフォルトでオプションなしで指定されている。 |
コマンドの使用例と解説
1.’hosts’を含むファイル、またはディレクトリの検索
$ locate hosts
/etc/ghostscript
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/avahi/hosts
/etc/samba/lmhosts
/usr/bin/ghostscript
(省略)
‘hosts’という文字列が含まれるファイル、ディレクトリの一覧が表示されます。
2.’hosts’を含むファイル、またはディレクトリの検索数
$ locate -c hosts
776
検索数が表示されます。
3.メタキャラクタを指定した検索
「*」や「?」などのメタキャラクタを指定した検索も可能です。以下の例は、「sh」の前、「sh」と「Color」の間、「Color」の後に任意の長さの文字列を含むものが検索されます。
$ locate '*sh*Color*'
/usr/share/app-info/icons/rhel-7/128x128/org.gnome.ColorProfileViewer.png
/usr/share/app-info/icons/rhel-7/64x64/org.gnome.ColorProfileViewer.png
/usr/share/applications/org.gnome.ColorProfileViewer.desktop
/usr/share/dbus-1/interfaces/org.freedesktop.ColorHelper.xml
(省略)
4.grepを使った絞り込み検索
$ locate hosts | grep '^/etc'
/etc/ghostscript
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/avahi/hosts
/etc/samba/lmhosts
locateコマンドの出力をgrepコマンドにパイプします。grepコマンドでは、行頭に「/etc」がマッチするものだけに絞り込みます。
5.ファイル名データベースの更新
多くのディストリビューションでは、このupdatedebコマンドは定期的に実行されるようになっていますが、手動でデータベースを更新したい場合は、以下のコマンドを実行します。
$ su -
パスワード:
最終ログイン: 2024/01/19 (金) 01:43:03 JST日時 pts/0
# updatedb
これらの例は、locate
コマンドを使用してファイルを検索する基本的な方法を示しています。検索結果はデータベースに基づいているため、定期的に更新することが重要です。更新はupdatedb
コマンドで行います。updatedb
コマンドは、rootユーザーだけが実行できます。