Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> LinuxシステムFAQ >> Linuxでファイルをすばやく見つける方法

Linuxでファイルをすばやく見つける方法

  

数日前にLinuxの速度を調べてファイルを探す方法について全員に話しましたが、全員一致で決定しました

find [path] -name" keyword>

遅くて無駄なCPU:木材にはもっと良い考えがありますか?もちろんあります。

locate linuxロードへの最初の入り口、または1年半の人々との接触がめったに彼をあまり使用しなかった;多分彼はfindよりあと2文字以上を持っています;そしてfindは覚えるのは簡単ではないので、それは初心者です角を忘れてしまった;

[10:53 @ stm32] $ locate -h

使用法:locate [オプション]… [パターン]…

エントリを検索するデータベースをmlocateします。

-b、 - basenameはパス名のベース名のみに一致します。

-c、 - countは見つかったエントリの数のみ表示します。

- d、 - database DBPATHはデフォルトのデータベースではなくDBPATHを使用します(

/var/lib/mlocate/mlocate.db)

-e、 - 現在存在する印刷エントリのみが存在します。ファイル

-L、--followファイルのチェック時に末尾のシンボリックリンクをたどります。

存在(デフォルト)

-h、--helpこのヘルプを印刷する

-i、 - ignore-caseパターンのマッチング時に大文字と小文字の区別を無視します。

-l、 - limit、-n LIMITで出力(またはカウント)を制限します。 LIMITエントリ
後方互換性のため、

-m、 - mmapは無視されます

-P、 - nofollow、-Hファイルのチェック時に末尾のシンボリックリンクをたどりません



-0、 - 出力にNULを含むエントリを個別に入力しない

-S、--statisticsはエントリを検索せず、使用された各データベースについての統計情報を出力します。

-q、--quietデータベースの読み込みに関するエラーメッセージを表示しません。

-r、--regexp REGEXPパターンの代わりに基本的な正規表現REGEXPを検索します。

--regex patterns拡張正規表現

-s、 - stdioは無視されます。下位互換性のために使用されます。

-V、 - バージョンの印刷バージョン情報

-w、 - wholenameは完全パスと一致します。名前(デフォルト)

[email protected]にバグを報告する

locateコマンドは、cronデーモンによって定期的に作成されるupdatedbプログラムによって更新されます。 、データベースを検索するときにlocateコマンドは全体よりも難しいです情報を検索するためのデータは高速ですが、さらに悪いことには、locateで見つかったファイルが最近確立されたか名前が変更されただけでは見つからないことがあります。デフォルト値ではupdatedbは1日に1回実行され、crontabを変更することで更新できます。固定値(etc /crontab)

locateは修飾ファイルの検索に使用され、テンプレートのスタイルに一致するファイルまたはディレクトリを検索するためにファイルとディレクトリ名をデータベースに格納します。たとえば、「*」や「?」などのテンプレートスタイルを指定します。指定したテンプレートがkcpa * nerの場合、locateは開始文字列がkcpaで、名前がnerで終わるすべてのファイルまたはディレクトリを検索します。ディレクトリ名がkcpa_nerの場合、Kcpartnerはディレクトリ内のサブディレクトリを含むすべてのファイルを一覧表示します。

locateコマンドとfindは同様にファイル機能を検索しますが、locateはupdateプログラムを使用してハードディスク内のすべてのファイルとディレクトリデータのインデックスデータベースを作成し、loacteを実行すると直接インデックスを検索します。高速で、索引データベースは通常オペレーティング・システムによって管理されますが、索引データベースを即時に変更するようにシステムに強制するために直接更新することもできます。

ただし、更新を実行した後は、locateを使用してファイルを検索すると失敗することがよくありますが、その場合は、locate (uコマンド(updatedbコマンドも実行、効果は同じ)を実行してください。 /usr /sbinの下にslocate実行可能ファイルを生成してから、データベースを探して探している情報を見つけます。

locate:このコマンドは実行時のサポートとしてバックグラウンドインデックスデータベースを必要としますUbuntuではこのデータベースファイルは/var /cache /locate /locatebにあります一般的にこのデータベースファイルはcronを通して毎日自動的に更新されます。 。残念ながらアップデートが届かない場合は、sudo updatedbを実行して手動アップデートを実行できます。

[10:59 @ stm32] $ sudo updatedb

[10:59 @ stm32] $ locate xxxxx

[11:00 @ stm32] $ locate xxxx

/home/chenzhenwei/embededproject/platform/s3c24x0/kernel/linux-3.0/arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h

/home /chenzhenwei /embededproject /platform /s3c24x0/kernel/linux-3.0/drivers/scsi/3w-xxxx.c

/home/chenzhenwei/embededproject/platform/s3c24x0/kernel/linux-3.0/drivers/scsi/3w-xxxx.h

/home/chenzhenwei/embededproject-code/platform/s3c24x0/kernel/linux-3.0/arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h

/home /chenzhenwei /embededproject-code/platform/s3c24x0/kernel/linux-3.0/drivers/scsi/3w-xxxx.c

/home/chenzhenwei/embededproject-code/platform/s3c24x0/kernel/linux-3.0/drivers /scsi/3w-xxxx.h

/home/chenzhenwei/fl2440/kernel/linux-3.0/arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h

/home /chenzhenwei/fl2440/kernel/linux-3.0/drivers/scsi/3w-xxxx.c

/home/chenzhenwei/fl2440/kernel/linux-3.0/drivers/scsi/3w-xxxx.h

/home/chenzhenwei/fl2440/linux-3.0/arch/arm/mach-omap2/sdram-numonyx -m65kxxxxam.h

/home/chenzhenwei/fl2440/linux-3.0/drivers/scsi/3w-xxxx.c

/home/chenzhenwei/fl2440/linux-3.0/drivers/scsi /3w-xxxx.h

/lib/modules/2.6.32-220.el6.i686/kernel/drivers/scsi/3w-xxxx.ko

/opt/buildroot-2011.11 /output/toolchain/linux-2.6.37/arch/arm/mach-omap2/sdram-numonyx-m65kxxxxam.h

/opt/buildroot-2011.11/output/toolchain/linux-2.6.37/drivers /scsi/3w-xxxx.c

/opt/buildroot-2011.11/output/toolchain/linux-2.6.37/drivers/scsi/3w-xxxx.h

/usr /share /foomatic/db/source/printer/Panasonic-KX-Pxxxx_24-pin.xml

/usr/src/kernels/2.6.32-220.el6.i686/include/config/blk/dev/3w /xxxx

/usr/src/kernels/2.6.32-220.el6.i686/include/config/blk/dev/3w/xxxx/raid.h

[11:00] @ stm32] $

たぶん、これはあなたをもたらすことができます多くの便利な;

Copyright © Windowsの知識 All Rights Reserved