locate の高度な使い方
locate
コマンドには、検索を絞り込むためのいくつかのオプションが用意されています。いくつかの高度なテクニックを探ってみましょう。
大文字小文字を区別しない検索
デフォルトでは、locate
は大文字小文字を区別します。大文字小文字を区別しない検索を行うには、-i
オプションを使用します。
locate -i DAEMON_config.txt
このコマンドは、検索語の大文字小文字の違いに関係なく、私たちのファイルを見つけます。出力は依然として次のように表示されるはずです。
/home/labex/project/daemon_config.txt
正規表現の使用
-r
オプションを使用すると、検索パターンに正規表現を使用できます。これは、より複雑な検索に役立ちます。
たとえば、/var/log
ディレクトリ内のすべての .log
ファイルを検索するには、次のようにします。
locate -r "/var/log/.*\.log$"
出力には、このパターンに一致するすべてのファイルが表示されます。
/var/log/alternatives.log
/var/log/apt/term.log
/var/log/bootstrap.log
...
正規表現を分解してみましょう。
/var/log/
- /var/log
ディレクトリ内のファイルに一致します。
.*
- 任意の文字 (.) を 0 回以上 (*) 一致させます。
\.log
- リテラルの ".log" に一致します (バックスラッシュはドットをエスケープします)。
$
- パターンがファイル名の末尾に一致することを保証します。
検索結果の数を制限する
検索結果が多すぎる場合、-n
オプションの後に表示したい最大結果数を指定することで、出力を制限できます。
locate -n 5 ".conf"
これにより、見つかった最初の 5 つの設定ファイルのみが表示されます。
/etc/adduser.conf
/etc/apparmor.d/abi/3.0
/etc/apparmor.d/tunables/home.d/ubuntu
/etc/avahi/avahi-daemon.conf
/etc/bash.bashrc
統計情報の表示
locate データベースの統計情報を表示するには、-S
オプションを使用します。
locate -S
これにより、データベースに関する情報が表示され、最後に更新された日時や含まれるファイルの数などが表示されます。
Database /var/lib/mlocate/mlocate.db:
8,086 directories
60,516 files
3,252,198 bytes in file names
1,274,148 bytes used to store database