ウェブサイト検索

Linux 初心者向けの 10 の便利な「locate」コマンドの実践例


Linux プラットフォームのほとんどの新規ユーザーが通常直面する最も不快な経験の 1 つは、システム上のファイルを検索する最も簡単で効果的な方法が見つからないことです。

Linux は、他のほとんどのオペレーティング システムと同様に、ユーザーの検索クエリに答えるためにいくつかのメカニズムを利用しています。ユーザーがアクセスできる最も一般的なファイル検索ユーティリティの 2 つは、find とlocate と呼ばれます。

どちらの検索プロセスも非常にうまく機能することに注意することが重要ですが、それでも、この記事の中心は検索ユーティリティにあります。このユーティリティのほうが、より効率的に機能するため便利です。ユーザーが入力したクエリを迅速に処理する方法。

locate ユーティリティは、対応する find ユーティリティよりも優れており、高速に機能します。これは、ファイル検索の開始時にファイル システムを検索する代わりに (何か find が行うことになります)、locate がデータベースを検索するためです。このデータベースには、ファイルのビットと部分、およびシステム上の対応するパスが含まれています。

ここでは、Linux マシンの生産性を高めるための 10 個の簡単なロケート コマンドを紹介します。

1.locateコマンドの使用

ファイルを探すためにlocateコマンドを実行するのは非常に簡単で簡単です。次のように入力するだけです。


$ locate LAMP-Setup.odt

/home/tecmint/LAMP-Setup.odt
/home/tecmint/TecMint.com/LAMP-Setup.odt

2. 検索クエリを特定の数に制限する

-n コマンドを使用すると、検索結果の重複を避けるために検索結果を必要な数に制限できます。

たとえば、クエリの結果を 20 だけ取得したい場合は、次のコマンドを入力できます。


$ locate "*.html" -n 20

/home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html
/home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html

結果には、.html で終わる最初の 20 個のファイルが表示されます。

3. 一致するエントリの数を表示する

ファイル「tecmint」の一致するすべてのエントリの数を表示する場合は、locate -c コマンドを使用します。


$ locate -c [tecmint]*

1550

4. 大文字と小文字を区別する位置特定出力を無視する

デフォルトでは、locate は大文字と小文字を区別してクエリを処理するように設定されており、TEXT.TXTtext.txt とは異なる結果を指します。 。

locate コマンドで大文字と小文字の区別を無視し、大文字と小文字の両方のクエリの結果を表示するには、-i オプションを使用してコマンドを入力します。


$ locate -i *text.txt*

/home/tecmint/TEXT.txt
/home/tecmint/text.txt

5. mlocate データベースを更新する

locate コマンドは mlocate というデータベースに依存しているためです。コマンドユーティリティが機能するには、上記のデータベースを定期的に更新する必要があります
効率的に。

mlocate データベースを更新するには、updatedb というユーティリティを使用します。これを正しく動作させるにはスーパーユーザー権限が必要であることに注意してください。root 権限または sudo 権限で実行する必要があります。


sudo updatedb

6. システム内に存在するファイルのみを表示する

更新された mlocate データベース** がある場合でも、locate コマンドは、物理コピーがシステムから削除されたファイルの結果を生成します。

コマンドを入力したときにマシンに存在しないファイルの結果が表示されないようにするには、locate-e コマンドを使用する必要があります。このプロセスでは、システムを検索して、探しているファイルが mlocate.db にまだ存在する場合でも、その存在を確認します。


$ locate -i -e *text.txt*

/home/tecmint/text.txt

7. 改行なしで出力エントリを区切る

locate コマンドのデフォルトの区切り文字は改行 (\\n) 文字です。ただし、ASCII NUL などの別の区切り文字を使用したい場合は、-0 コマンド ライン オプションを使用してこれを行うことができます。


$ locate -i -0 *text.txt*

/home/tecmint/TEXT.txt/home/tecmint/text.txt

8. 検索データベースを確認する

mlocate.db の現在のステータスが不明な場合は、-S コマンドを使用してデータベースの検索統計を簡単に表示できます。


$ locate -S

Database /var/lib/mlocate/mlocate.db:
	32,246 directories
	4,18,850 files
	2,92,36,692 bytes in file names
	1,13,64,319 bytes used to store database

9. Locate でのエラー メッセージの抑制

検索データベースに常にアクセスしようとすると、mlocate.db への root アクセスに必要な権限がないことを示す不要なエラー メッセージが表示されることがあります。これは、あなたが単なる通常のユーザーであり、ユーザーではないためです。スーパーユーザーが必要です。

これらのメッセージを完全に消去するには、-q コマンドを使用します。


locate "\*.dat" -q*

10. 別の mlocate の場所を選択する

デフォルトの mlocate データベースに存在しない結果を検索するクエリを入力していて、システム内の別の場所にある別の mlocate.db からの回答が必要な場合は、 -d コマンドを使用して、システムの別の部分にある別の mlocate データベースにlocateコマンドを実行します。


locate -d <new db path> <filename>

locate コマンドは、要求されたすべてを手間をかけずに実行するユーティリティの 1 つのように見えるかもしれませんが、実際には、プロセスの効率を維持するために、mlocate.db時々情報を与える必要があります。そうしないと、プログラムが少し役に立たなくなる可能性があります。