アンドロイド

Linuxでコマンドを見つける

こども行進曲 / Theme Of Codomo (Alla Marcia)

こども行進曲 / Theme Of Codomo (Alla Marcia)

目次:

Anonim

Linuxで作業する際の最も一般的な操作の1つは、ファイルとディレクトリの検索です。 Linuxシステムには、ファイルの検索に使用できるいくつかのコマンドがあり、 find locate が最もよく使用されます。

locate コマンドは、ファイルとディレクトリを名前で検索する最も簡単な方法です。

このチュートリアルでは、 locate コマンドの使用方法について説明します。

Locateのインストール(locateコマンドが見つかりません)

ディストリビューションおよびシステムのプロビジョニング方法に応じて、Linuxシステムにロケートパッケージが事前にインストールされている場合とされていない場合があります。

システムに locate ユーティリティがインストールされているかどうかを確認するには、ターミナルを開き、 locate Enter を押します。 パッケージがインストールされている場合、システムは「 locate: no pattern to search for specified 」を表示し locate: no pattern to search for specified それ以外の場合は、 locate command not found などが表示 locate command not found ます。

locate がインストールされていない場合は、ディストリビューションのパッケージマネージャーを使用して簡単にインストールできます。

UbuntuとDebianにLocateをインストールする

sudo apt update sudo apt install mlocate

CentOSとFedoraにLocateをインストールする

sudo yum install mlocate

locate 仕組み

updatedb コマンドは、 updatedb コマンドで生成されたデータベースファイルから特定のパターンを検索します。 見つかった結果は、画面に1行に1つずつ表示されます。

mlocateパッケージのインストール中に、24時間ごとに updatedb コマンドを実行するcronジョブが作成されます。 これにより、データベースが定期的に更新されます。 cronジョブの詳細については、/ /etc/cron.daily/mlocate ファイルを確認してください。

ルートまたはsudo権限を持つユーザーとして updatedb コマンドを実行することにより、データベースを手動で更新できます。

sudo updatedb

ファイルとディレクトリの数とシステムの速度によっては、更新プロセスに時間がかかります。

データベースの更新後に作成されたファイルは、検索結果に表示されません。

ファイルシステムを検索するより強力な find コマンドと比較して、 locate ははるかに高速に動作しますが、多くの機能がなく、ファイル名でのみ検索できます。

locate コマンドの使用方法

locate コマンドの構文は次のとおりです。

locate PATTERN…

最も基本的な形式では、オプションなしで使用すると、 locate コマンドは、検索パターンに一致し、ユーザーが読み取り権限を持っているすべてのファイルとディレクトリの絶対パスを出力します。

たとえば、 .bashrc という名前のファイルを検索するには、次のように入力します。

locate.bashrc

出力には、名前に文字列 .bashrc を含むすべてのファイルの名前が含まれます。

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

/root ディレクトリへのアクセス許可を持たない通常のユーザーとしてコマンドを実行したため、 /root /root/.bashrc ファイルは表示されません。

結果リストが長い場合、読みやすくするために、出力を less コマンドにパイプできます。

locate.bashrc | less

また、 locate コマンドは、ワイルドカード文字 * などのグロビング文字を含むパターンも受け入れます。 パターンにグロビング文字が含まれていない場合、コマンドは *PATTERN* を検索します。そのため、前の例では、名前に検索パターンを含むすべてのファイルが表示されていました。

ワイルドカードは、ゼロ、1つまたは複数の文字を表すために使用される記号です。 たとえば、システム上のすべての .md ファイルを検索するには、次を使用します。

locate *.md

検索結果を制限するには、 -n オプションに続けて、表示する結果の数を使用します。 たとえば、次のコマンドはすべての .py ファイルを検索し、10個の結果のみを表示します。

locate -n 10 *.py

デフォルトでは、 locate は大文字と小文字を区別して検索を実行します。 -i (-- --ignore-case )オプションは、大文字小文字を無視して大文字と小文字を区別しない検索を実行する locate locate を指定し locate

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

一致するすべてのエントリのカウントを表示するには、 -c (-- --count )オプションを使用します。 次のコマンドは、名前に .bashrc を含むすべてのファイルの数を返します。

locate -c.bashrc

6

デフォルトでは、 locate は、見つかったファイルがファイルシステムにまだ存在するかどうかをチェックしません。 ファイルが検索パターンと一致する場合、最新のデータベース更新後にファイルを削除すると、検索結果に含まれます。

--existing 実行時に存在するファイルの名前のみを表示するには、 -e (-- --existing )オプションを使用します。 たとえば、次の例では、既存の .json ファイルのみが .json ます。

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

結論

locate コマンドは、指定されたパターンに一致する名前のファイルとディレクトリをファイルシステムで検索します。 コマンド構文は覚えやすく、結果はほぼ瞬時に表示されます。

locate コマンドの使用可能なすべてのオプションの詳細については、端末で man locate してください。

ターミナルロケート