Linux初心者のための10の便利な「locate」コマンドの実用例


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

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

ここで、両方の検索プロセスが非常にうまく機能することに注意することが重要ですが、それでも、この記事の中心は、によって入力されたクエリを迅速に処理するためのより効率的な方法を使用するため、2つの中でより便利な検索ユーティリティに焦点を当てます。ユーザー。

検索ユーティリティは、ファイル検索が開始されたときにファイルシステムを検索する代わりに、検索が行うものであるため、検索ユーティリティよりも優れた速度で動作します。検索はデータベースを検索します。このデータベースには、ファイルのビットと一部、およびシステム上の対応するパスが含まれています。

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.TXT text.txt とは異なる結果を示します。

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

$ locate -i *text.txt*

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

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

効率的に。

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

$ sudo updatedb

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

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

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

$ locate -i -e *text.txt*

/home/tecmint/text.txt

7.改行なしで出力エントリを分離する

)文字。ただし、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.ロケートでエラーメッセージを抑制する

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

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

$ locate "\*.dat" -q*

10.別の場所を選択します

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

$ locate -d <new db path> <filename>

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