ホームページ >運用・保守 >Linuxの運用と保守 >find と grep の違いと Linux での一般的なコマンドの紹介

find と grep の違いと Linux での一般的なコマンドの紹介

零下一度
零下一度オリジナル
2017-07-16 11:45:541706ブラウズ

find

機能: ディレクトリ構造内のファイルを検索し、指定された操作を実行します。このコマンドは非常に多くの検索条件を提供し、非常に強力です。
構文: find 場所の検索 ファイル名との一致
説明: find コマンドは、指定された開始ディレクトリから開始され、そのサブディレクトリを再帰的に検索し、検索条件を満たすファイルを検索し、関連する操作を実行します。

grep

grep の正式名は Global Regular Expression Print です。
正規表現を使用してテキストを検索し、一致する行を印刷できる強力なテキスト検索ツールです。 構文: grep は
string ファイル名と一致します

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

違い:

(1) find コマンドは、ファイル名、ファイルサイズ、所有者、グループ、空かどうか、アクセス時間、変更時間などのファイルの属性に基づいて検索します。 。 (2) GREP はファイルの内容に基づく検索であり、ファイルの各行は指定されたモード (パターン) に従って照合されます。

1.検索コマンド

基本形式:パス式を検索 1.ファイル名で検索

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

(2)find /etc -name httpd.conf #ファイルhttpd.conf

(3)find /etc -name '*srm*' #ワイルドカードを使用 *(0または任意の番号)。ファイル名に文字列

'srm' を含むファイルを /etc ディレクトリ内で検索することを示します

(4) find . -name 'srm*' # 現在のディレクトリ内でファイル名が文字列で始まるファイルを検索することを示します'srm'

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

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

(2)find / - atime -2 #過去48時間にシステム内でアクセスされたファイルを探す (3)find / -empty #システム内で空のファイルやフォルダを探す

(4)find / -group cat #該当するファイルを探すシステム内のグループ cat に属します

(5)find/-mmin -5 #システム内で過去 5 分間に変更されたファイルを検索します (変更時刻)

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

(7)find/-user fred #システム内のユーザー fred に属するファイルを検索

(8)find/-size +10000c #10000000 バイトを超えるファイルを検索 (c : bytes, w :Double word, 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ディレクトリ内のファイルを探す around forward over over in /tmp -user fred -or -user george #ユーザーが fred または george である / ディレクトリ内のファイルを検索する

(3)find /tmp ! -user panda

2. grep コマンド


基本形式: find 式

1. 主要パラメータ

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

-c: 一致した行数のみを出力します。
-i: 大文字と小文字を区別しません
-h: 複数のファイルをクエリする場合、ファイル名は表示されません。
-l: 複数のファイルをクエリする場合、一致する文字を含むファイル名のみが出力されます。
-n: 一致する行と行番号を表示します。
-s: 存在しない、または一致するテキストがないエラーメッセージを表示しません。
-v: 一致するテキストを含まないすべての行を表示します。

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

: 正規表現における特殊文字の本来の意味を無視します。
^: 正規表現の開始行と一致します。
$: 正規表現の終了行と一致します。
<: 正規表現に一致する行から開始します。
>: 正規表現に一致する行の末尾へ。
[ ]: [A] などの 1 文字、つまり A が要件を満たします。
[-]: [A-Z] などの範囲、つまり A、B、C ~ Z がすべて要件を満たします。
.: すべて単一の文字。
*: 文字があり、長さは 0 になる可能性があります。

2. 例

(1) grep 'test' d* #dで始まるファイル内のtestを含む行を全て表示

(2)grep 'test' aa bb cc #aa, bb, を含む行を表示ccファイルでテストします

(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」に一致するなど)。

以上がfind と grep の違いと Linux での一般的なコマンドの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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