ロケートコマンドと 探す コマンドは名前でファイルを検索するために使用されます。ただし、両方のコマンドの違いは、locate コマンドはバックグラウンド プロセスであり、データベース内のファイルを検索するのに対し、find コマンドはファイル システム内を検索することです。 locate コマンドは find コマンドよりもはるかに高速です。
locate コマンドでファイルが見つからない場合は、データベースが古いことを意味するため、「updatedb」コマンドを使用してデータベースを更新できます。
構文:
locate [OPTION]... PATTERN...
オプション:
いくつかの便利なコマンド ライン オプションは次のとおりです。
マイフリクサー
-A、--すべて: これは、1 つのパターンのみが一致することを要求するのではなく、すべてのパターンに一致するエントリのみを表示するために使用されます。
-b、--ベース名: これは、指定されたパターンに対してベース名のみを照合するために使用されます。
-c、--カウント: これは、標準出力にファイル名を書き込む代わりに、一致するエントリの数を書き込むために使用されます。
-d、--database DBPATH: これは、デフォルトのデータベースを DBPATH に置き換えるために使用されます。
-e、--既存: これは、コマンドの実行中に既存のファイルを参照するエントリのみを表示するために使用されます。
-L、--フォロー: '--existing' オプションが指定されている場合、ファイルが存在するかどうか、および末尾のシンボリック リンクをたどるかどうかを確認するために使用されます。出力への壊れたシンボリック リンクが省略されます。これはデフォルトの動作です。 「--nofollow」オプションを使用すると、逆の動作を指定できます。
-h、--ヘルプ: 使用可能なオプションの概要を含むヘルプ ドキュメントを表示するために使用されます。
-i、--ignore-case: これは、指定されたパターンの大文字と小文字の区別を無視するために使用されます。
-p、--ignore-spaces: パターンを照合するときに句読点とスペースを無視するために使用されます。
-t、--音訳: パターンを照合するときに、iconv 音訳を使用してアクセントを無視するために使用されます。
-l、--limit、-n 制限: このオプションを指定すると、LIMIT 個のエントリが見つかった後、コマンドは正常に終了します。
-m、--mmap: BSD および GNU ロケートとの互換性を無視するために使用されます。
-0、--null: これは、各エントリを別の行に記述する代わりに、ASCII NUL 文字を使用して出力上のエントリを区切るために使用されます。
Q1は何月ですか
-S、--統計: これは、ファイルを検索する代わりに、各読み取りデータベースに関する統計を標準出力に書き込むために使用されます。
-r、--regexp 正規表現: 基本的な正規表現 REGEXP の検索に使用されます。
--正規表現: すべての PATTERN を拡張正規表現として記述するために使用されます。
-V、--バージョン: バージョンやライセンス情報を表示するために使用されます。
-w、--全体名: これは、指定されたパターン内のパス名全体のみを照合するために使用されます。
ロケートコマンドの例
以下のlocateコマンドの例を見てみましょう。
- ロケートコマンドの使い方
- 検索クエリの制限
- 一致するエントリの数を表示する
- 大文字と小文字の区別を無視する
- mlocate データベースの更新
- システム内で利用可能なファイルのみを表示
- mlocateデータベースのステータスを追跡する
- 異なるセパレータを使用して出力エントリを分離する
ロケートコマンドの使い方
Locate コマンドは、ファイルを検索するのに便利なユーティリティです。使い方は非常に簡単で、次のようにコマンドを実行するだけです。
locate
以下の出力を考えてみましょう。
検索クエリの制限
「-n」オプションを使用すると、冗長性を避けるために検索結果を制限できます。
例えば。クエリからの 5 つの結果だけを表示するには、次のようにコマンドを実行します。
locate -n 5 '*.txt'
上記のコマンドは、最初の 5 つのテキスト ファイルを表示します。以下の出力を考えてみましょう。
一致するエントリの数を表示する
一致するファイルの合計を表示するには、「-c」オプションを指定してコマンドを実行します。以下のコマンドを考えてみましょう。
locate -c Demo*
上記のコマンドは、名前に「Demo」を含むファイルの合計を表示します。以下の出力を考えてみましょう。
大文字と小文字の区別を無視する
ご存知のとおり、Linux ターミナルでは大文字と小文字が区別されます。したがって、ファイルを大文字で検索すると、大文字のファイルのみがリストされます。大文字と小文字の区別を無視するには、次のように「-i」オプションを指定してコマンドを実行します。
locate -i 'demo.txt'
上記のコマンドは、名前に「demo」と「Demo」が含まれる両方のファイルを表示します。以下の出力を考えてみましょう。
mlocate データベースの更新
locate コマンドは「mlocate」データベースに依存します。したがって、locate コマンドが正しく機能しない場合は、データベースを更新する必要があります。データベースを更新するには、次のように「updatedb」コマンドを実行します。
sudo updatedb
システム内で利用可能なファイルのみを表示
場合によっては、locate コマンドによってファイルが削除されることがあります。削除されたファイルの結果が表示されないようにするには、「-e」オプションを指定してコマンドを実行します。システムで物理的に利用可能なファイルのみが表示されます。以下のコマンドを考えてみましょう。
locate -i -e *demo.txt*
以下の出力が生成されます。
ミニマックスアルゴリズム
mlocateデータベースのステータスを追跡する
データベース統計を見つけるには、次のように「-S」オプションを指定してコマンドを実行します。
locate -S
以下の出力を考えてみましょう。
異なるセパレータを使用して出力エントリを分離する
locate コマンドのデフォルトの出力区切り文字は改行です。ただし、デフォルトの区切り文字は変更できます。たとえば、ASCII NUL を使用するには、「-0」オプションを使用してコマンドを実行します。以下のコマンドを考えてみましょう。
locate -i -0 'demo.txt'
出力は次のように表示されます。