はじめに
検索
コマンドは、ファイルとディレクトリをすばやく見つけるために使用されるUnixユーティリティです。このコマンドは、検索のより便利で効率的な代替手段です。 コマンド。これはより積極的で、検索を完了するのに時間がかかります。
検索
の反対 、 Locate
コマンドはファイルシステム全体を検索しませんが、システム内の定期的に更新されるファイルデータベースを検索します。したがって、検索ははるかに速く完了します。
このチュートリアルでは、 Locate
のインストールと使用方法を学習します Linuxのコマンド。
前提条件
- Linuxを実行しているシステム。
- 管理者権限を持つアカウント。
ロケートのインストール方法
使用しているLinuxディストリビューションに応じて、 Locate
パッケージがプリインストールされていない可能性があります。
検索
かどうかを確認するには がインストールされている場合は、次のように入力します:
locate
検索
の場合 がディストリビューションにインストールされている場合、コマンドは次の出力を出力します。
このチュートリアルでは、 Locate
が付属していないUbuntu20.04を使用しました。 ユーティリティがプリインストールされています。この場合、出力メッセージは次のとおりです。
UbuntuとDebianにlocateをインストール
以下の手順に従って、 Locate
をインストールします UbuntuまたはDebianの場合:
1.パッケージリポジトリを更新します:
sudo apt update
2. Locate
をインストールします 実行によるパッケージ:
sudo apt install mlocate
CentOSとFedoraにlocateをインストールします
以下の手順に従って、 Locate
をインストールします CentOSまたはFedoraの場合:
1.パッケージリポジトリを更新します:
sudo yum -y update
2.次のコマンドを実行して、 Locate
をインストールします :
sudo yum install mlocate
Linuxでのlocateコマンドの使用例と例
検索
コマンドは、ファイル名を使用してLinux内のファイルを検索します。 検索
瞬時の結果を得るために使用され、速度が優先される場合に不可欠なユーティリティです。
このコマンドは、システム内の対応するパスを持つファイルのビットを含むデータベースを使用して検索を実行します。ただし、 Locate
データベース外のファイルをチェックしません。つまり、最新のデータベース更新後に作成されたファイルについてはレポートしません。
Locate
の構文 コマンドは次のとおりです:
locate [options] [pattern]
いくつかの便利なオプションは次のとおりです。
オプション | 説明 |
---|---|
-A、-all | 指定されたすべてのパターンに一致するエントリのみを表示します。 |
-b、-basename | 指定されたパターンに対してベース名のみを照合します。 |
-c、-count | ファイル名の代わりに一致するエントリの数を出力します。 |
-d、-database [DBPATH] | デフォルトのデータベースを[DBPATH] に置き換えます -データベースファイル名のコロンで区切られたリスト。 |
-e、--existing | 既存のファイルのエントリのみを表示します。 |
-L、-follow | -existing の場合、ファイルが存在するかどうかを確認するために使用します オプションが指定されています。 -フォローコード> オプションは壊れたシンボリックリンクを省略します。 |
-i、-ignore-case | パターンの大文字と小文字の区別を無視します。 |
-p、-ignore-spaces | パターンを一致させるときに句読点とスペースを無視します。 |
-t、-transliterate | iconv を使用します パターンを一致させるときにアクセントと発音区別符号を無視する音訳。 |
-l、-limit、-n [LIMIT] | [LIMIT] を見つけた後、正常に終了するために使用します エントリ数。 |
-0、-null | ASCII NUL を使用して出力エントリを分離します 各エントリを改行で印刷する代わりに文字。 |
-S、-statistics | ファイルを検索する代わりに、読み取られた各データベースに関する統計を標準出力に出力します。 |
-q、-quiet | データベースの読み取りおよび処理中に発生したエラーを非表示にします。 |
-r、--regexp [REGEXP] | 基本的な正規表現の検索に使用されます[REGEXP] 。このオプションを指定すると、 [pattern] は許可されません 引数。 |
-w、-wholename | 指定されたパターンに対してパス名全体のみを照合します。 |
-h、-help | 使用可能なすべてのオプションのリストを含むヘルプファイルを表示します。 |
次のセクションでは、 locate
の使用例を示します。 コマンド。
ファイルの検索
Locate
を使用する最も簡単な方法 コマンドは、検索したいパターンを入力することです。
たとえば、 mysqlを含むすべてのファイルを検索します 次のコマンドを実行して、ファイル名のパターンを作成します。
locate mysql
出力には、 mysqlを含むファイルのすべての絶対パスが一覧表示されます ファイル名のパターン。
出力のフォーマット
検索結果がファイルの長いリストである場合は、 locate
をパイプ処理します less
へのコマンド 読みやすく、スクロールしやすくなります。
例:
locate mysql | less
スペースバーを押して出力をナビゲートします 前進するには、 b 逆にする、または Q やめる。
既存のファイルを表示する
検索
中 コマンドはほぼ瞬時に結果を取得しますが、速度にはコストがかかります。 検索
するデータベースが原因で、削除されたファイルが結果に表示されることがあります ファイルが削除されてから、読み取りは更新されていません。また、データベースが最後に更新された後に作成された新しいファイルは、結果に表示されません。
-e
を使用してこれらの欠点を解消します ファイルシステムを検索し、既存のファイルのみを結果に含めるオプション。
例:
上記の例では、最初に rm
を使用してファイルを削除しました 。 Locate
でファイルを検索する 削除されたファイルの場所を示します。ただし、 -e
を使用する場合 オプション、検索
ファイルが削除されたため、結果は表示されません。
既存のファイルを数える
-c
を指定して、ファイル名とその絶対パスの代わりに、一致したファイルの数を出力します オプション。
例:
locate -c mysql
出力には、 mysqlを含むファイルの数のみが含まれます ファイル名の文字列。他のすべての情報は抑制されます。
検索中のエラーを無効にする
-q
オプションはlocate
を指示します データベースの読み取り中に表示される可能性のあるエラーを抑制するため。
次の例では、 Locate
別のデータベースを使用して検索を実行します。このコマンドは、最初にデータベースが存在しないことを報告します。
ただし、 -q
を指定する オプションはエラーを抑制します:
検索結果の数を制限する
-n
を使用して検索結果の数を制限します 冗長な結果を回避するオプション。たとえば、次のように入力して、検索結果を10件のみに制限します。
locate *.txt -n 10
出力には、検索パターンに一致する最初の10個のファイルのみが表示されます。
大文字と小文字を区別するファイルを無視する
デフォルトでは、 Locate
入力クエリを処理するときに大文字と小文字を区別する検索を実行します。 検索
に指示する -i
を使用して大文字と小文字を区別しない オプション。
次の例では、最初に example_fileを検索しました。 小文字で、検索
ファイル名に大文字が含まれているため、出力は表示されませんでした。
大文字でファイルを検索すると、ファイルの場所が表示されます:
同じ検索を小文字で実行し、 -i
を指定します オプションは大文字と小文字を区別せず、出力にファイルを表示します:
正確な名前のファイルを検索する
デフォルトでは、 Locate
入力パターンを文字列として解析し、ファイル名内に入力パターンを含むすべてのファイルを表示します。たとえば、 mysqlを検索します mysqlを含むすべてのファイルを表示します ファイル名全体がmysqlであるファイルの代わりに、ファイル名の一部として文字列 。
-r
を使用して、正確な名前のファイルを検索します (正規表現)オプション。
例:
出力には、ファイル名が入力パターンと完全に一致するファイルのみが表示されます。
ASCIINULを使用した個別の出力エントリ
検索
する出力エントリ 生成物は改行で区切られます( \ n
) キャラクター。 -0
を使用します ASCII NUL
でエントリを区切るオプション 改行文字の代わりに。
例:
locate -0 apache
デフォルトの区切り文字は改行文字ではなくなり、エントリは ASCII NUL
で区切られます。 。
データベース統計の表示
検索
コマンドを使用すると、データベースに保存されているディレクトリやファイルの数など、さまざまなデータベース統計を確認できます。データベース統計を表示するには、 -S
を指定します オプション:
locate -S
出力には、どのデータベースが配置
されているかが示されます 現在使用しているディレクトリとファイルの数、およびデータベースのサイズ(バイト単位)。
データベースの検索を更新
検索
するデータベース は、毎日同時に自動的に更新を使用します。データベースを手動で更新し、ファイルインデックスが正しいことを確認するには、次のコマンドを実行します。
sudo updatedb
システム上のファイルの数によっては、更新プロセスが完了するまでに数秒かかります。
別のmlocateデータベースを選択してください
検索
に指示する -d
を指定して、デフォルト以外のデータベースを使用する オプション。この機能は、デフォルトの mlocate
に存在しない結果を探すときに役立ちます データベース。
別のデータベースを指定するには、次の構文を使用します。
locate -d [new database path] [pattern]
発音区別符号とアクセントの違いを無視する
検索
コマンドは、結果の照合に通常の文字を使用します。つまり、発音区別符号を含む文字を含むファイル名は検索結果に表示されません。 -t
を使用します 検索
を指示するオプション 文字間のそのような違いを無視し、結果に発音区別符号を含めます。
例:
nice-cafeを検索しています ファイル名に発音区別符号が含まれているため、上記の例ではパターンに結果が表示されません。同じパターンを再度検索し、 -t
を指定します オプションは素敵なカフェを表示します 結果として、ファイル名の発音区別符号を無視したファイルパス。