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 サイトの他の関連記事を参照してください。