ホームページ  >  記事  >  運用・保守  >  Linux でファイルをすばやく検索する

Linux でファイルをすばやく検索する

步履不停
步履不停オリジナル
2019-06-13 17:41:495862ブラウズ

Linux でファイルをすばやく検索する

Linux を使用している場合、ファイルを検索する必要があることがよくあります。主な検索コマンドは find と grep ですが、2 つのコマンドには違いがあります。

違い:

(1) find コマンドは、ファイル名、ファイル サイズ、所有者、グループ、空かどうか、アクセス時間、変更などのファイルの属性に基づいて検索します。時間等。

(2) grep はファイルの内容に基づいて検索し、指定されたパターン (パターン) に従ってファイルの各行を検索します。

(3)this 実行可能ファイルの場所を表示します。環境変数が設定されているプログラムのみが使用できます。

(4)whereis 特定のファイルを検索するには、バイナリの検索にのみ使用できます。ファイルとソース コード ファイルとマニュアル ページ

(5)locate データベースを使用してファイルの場所、詳細を表示します。locate -h でヘルプ情報を表示します。

1. Find コマンド

基本形式:パス式の検索

## 1.ファイル名による検索

## (1)find / -name httpd.conf #ルートディレクトリにあるファイルhttpd.confを検索、つまり、ハードディスク全体を検索することを意味します

#オーバー /などのディレクトリhttpd.conf ute d.conf | file httpd.conf

## /etc -name '*srm*'倍数)。 /etc ディレクトリ内のファイル名に文字列「srm」が含まれるファイルを検索することを示します

# (4)find . -name 'srm*' File

2. ファイルの特性に応じた検索

(1)find / -amin -10 #システム内で過去 10 分間にアクセスされたファイルを検索します (アクセス時間)

(2)find / -atime -2 #アクセスされたファイルを検索システム内の過去 48 時間

## (3)find / -empty #システム内で空のファイルまたはフォルダーを検索します

# # (4)find / -group cat #所属するファイルを検索システム内のグループ cat へ

## / -mmin -5 / -mmin -5 time)

(6)find / -mtime -1 #最後に変更されたファイルを検索システム内の 24 時間

# (7)find / -user fred #過去 24 時間にシステム内で変更されたファイルを検索します ユーザー fred のファイル

(8)find/ -size 10000c #10000000バイトを超えるファイルを検索 (c:バイト、w:ダブルワード、k:KB、M:MB、G:GB )

(9)find / -size -1000k #ファイルを検索1000KB 未満

# 3. 混合検索方法を使用してファイルを検索します

パラメータは次のとおりです。 、-and(-a)、-or(-o)。

(1)find /tmp -size 10000c -and -mtime 2 #10000 バイトを超え、過去 2 分以内に変更された /tmp ディレクトリ内のファイルを検索します

(2) find / -user fred -or -user george #ユーザーが fred または george である / ディレクトリ内のファイルを検索

(3)find /tmp ! -user panda #/tmp ディレクトリ内のすべてのファイルを検索panda に属さない ユーザーのファイル

2. grep コマンド

基本形式: find 式

1. 主なパラメータ

[オプション]主なパラメータ:

-c: 一致する行の数のみを出力します。

-i: 大文字と小文字を区別しません

-h: 複数のファイルをクエリする場合、ファイル名は表示されません。

-l: 複数のファイルをクエリする場合、一致する文字を含むファイル名のみが出力されます。

-n: 一致する行と行番号を表示します。

-s: 存在しない、または一致するテキストがないエラー メッセージを表示しません。

-v: 一致するテキストを含まないすべての行を表示します。

パターン正規表現の主なパラメータ:

\: 正規表現内の特殊文字の本来の意味を無視します。

^: 正規表現の開始行と一致します。

$: 正規表現の終了行と一致します。

\<:>

\>: 正規表現に一致する行の末尾へ。

[ ]: [A] などの 1 文字は、A が要件を満たしていることを意味します。

[-]: [A-Z] などの範囲、つまり A、B、C ~ Z がすべて要件を満たします。

.: すべて単一の文字。

*: 文字数があり、長さは 0 になる可能性があります。

2. 例

grep -r "string" は非常に便利です

(1) grep 'test' d* #テスト行を含む d で始まるファイルをすべて表示します

(2)grep 'test' aa bb cc # aa、bb、ccファイル内のtestを含む行を表示

(3)grep '[a-z]\{5\ }' aa #文字列の各行に少なくとも 5 つの連続した小文字を含む文字列を含む行をすべて表示します

(4)grep magic /usr/src #/usr/src ディレクトリ内のファイルを表示します (サブディレクトリは含まれません) マジックを含む行

(5)grep -r magic /usr/src #マジックラインを含む/usr/srcディレクトリ(サブディレクトリ含む)内のファイルを表示

(6)grep -w パターンファイル:全体に一致するもののみ文字列の一部ではない単語 (「magical」ではなく「magic」と一致するなど)

#Linux 関連の技術記事の詳細については、

Linux 使用法チュートリアルをご覧ください 学びのコラム!

以上がLinux でファイルをすばやく検索するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。