Linuxでファイルを見つける方法は?

公開: 2022-04-07

目次

序章:

Findは、ファイル階層をウォークするUNIXコマンドラインユーティリティです。 これを使用して、ファイルやディレクトリを検索して操作できます。 このコマンドを使用して、ファイル、フォルダー、名前、作成日、変更日、所有者、およびアクセス許可を検索できます。

さらに、「- exec 」オプションと組み合わせて、 findコマンドで検出された結果に対してさまざまなアクションを実行できます。

この記事では、 Findコマンドを使用してLinuxでファイルを検索する方法を学習します。

検索コマンドはどのように機能しますか?

Findは、コンピューター上のファイルを検索します。 優先順位の規則に従って、指定されたパスで指定された各ディレクトリツリー内で、左から右に各式を評価します。 AND演算またはOR演算では、式の左側がTRUEまたはFALSEの場合、結果は「既知」です。 次に、すべてのパスが探索されるまで、Findは次のパスに移動します。

findコマンドは、Linuxシステムでファイルを操作するための最も基本的で強力なツールです。 ファイルは、単独で、または他のプログラムと組み合わせて見つけることができます。

構文:

find [options] [path…] [expression]

また

$ find [where to start searching from]

[式は何を見つけるかを決定します][-options][何を見つけるか]

  • シンボリックリンクの処理、デバッグオプション、および最適化戦略はすべて、 optionsプロパティによって制御されます。
  • path …プロパティは、findがファイルを検索する1つまたは複数のディレクトリを指定します。
  • オプション、検索パターン、およびアクションは、 expression属性の演算子で区切られています。

オプション:

-exec CMD :上記の基準を満たし、コマンド実行の終了ステータスが正常である場合は0を返す検索中のファイル。

-ok CMD :-execに似ていますが、ユーザーは事前にプロンプ​​トが表示されます。

-inum N :iノードで番号「N」のファイルを探します。

-links N :「N」リンクを持つファイルを検索します。

-name demo :ファイル名に「demo」という名前のファイルを探します。

-新しいファイル:「file」以降に更新または作成されたファイルを探します。

-perm Octal :権限が「octal」の場合、ファイルを探します。

-print :残りの基準を使用して識別されたファイルのパス名を出力します。

-空:空のファイルとフォルダーを探します。

-サイズ+N/ -N :「N」ブロックのファイルを探します。 「N」の後に「c」を付けると、文字サイズを測定できます。 「+N」はサイズ>「N」ブロックを示し、「-N」はサイズ「N」ブロックを意味します。

-user name :ユーザー名'name'またはID'name'のファイルを探します。

(expr) :'expr'がtrueの場合、true; ORまたはANDを使用して基準をグループ化するために使用されます。

expr :'expr'がfalseの場合はtrue。

式:

オプション(ファイル処理ではなく一般的な操作に影響を与え、常にtrueを返す)、テスト(trueまたはfalseの値を返す)、およびアクション(副作用があり、trueまたはfalseの値を返す)はすべて、式の演算子で区切られます。 。 演算子が不在の場合、-andが推測されます。

式に追加のアクションが含まれていない場合は、-prune、-printがtrueであるすべてのファイルに適用されます。

たとえば、次のコマンドを例として見てみましょう。

find -L /var/www -name "*.js"

  • オプション-L(オプション)は、シンボリックリンクをたどるようにfindコマンドに指示します。
  • / var / www(パス…)は、検索されるディレクトリを指定します。
  • (expression)-name "* .jsは、findに.jsで終わるファイル(JavaScriptファイル)を検索するように指示します。

Linuxで名前でファイルを見つける方法

検索コマンドを使用して、ファイルを名前で検索できます。 -nameオプションを使用すると、ファイルの名前でファイルを検索できます。

find -type f -name functions.php

Linuxでファイルを見つける方法

大文字と小文字を区別する検索を実行するには、-nameの代わりに-inameを使用します

Linuxで拡張子でファイルを見つける方法

名前でファイルを検索するのと同じように、拡張子でファイルを検索できます。

find -type f -name '*.php'

指定された拡張子のないファイルを検索するには、次のコマンドを使用します

find -type f - not -name '*.php'

タイプでファイルを検索

通常のファイル、ディレクトリ、シンボリックリンクなどの特定のファイルタイプを検索する必要がある場合は、特定のファイルタイプを検索する必要がある場合があります。 Linuxのすべてはファイルです。

-typeオプションと次の記述子のいずれかを使用して、検索するファイルのタイプを指定します。

  • f:通常のファイル
  • d:ディレクトリ
  • l:シンボリックリンク
  • c:キャラクターデバイス
  • b:デバイスをブロックする
  • p:名前付きパイプ(FIFO)
  • s:ソケット

find public_html/wp-admin/ -type d

サイズでファイルを検索

サイズに基づいてファイルを検索するには、-sizeパラメーターをsizeパラメーターと一緒に渡す必要があります。 次のサフィックスを使用して、ファイルサイズを指定できます。

  • b:512バイトブロック(デフォルト)
  • c:バイト
  • w:2バイトワード
  • k:キロバイト
  • M:メガバイト
  • G:ギガバイト

find . -type f -size -1M

サイズが1MBを超えるファイルを検索する場合は、+を使用します。

find . -type f -size +1M

サイズ範囲内のファイルを検索することもできます

find . -type f -size +1M -size 3M

変更してファイルを検索する

findコマンドを使用して、ファイルが最後に変更、アクセス、または変更された日時に基づいてファイルを検索することもできます。

サイズで検索する場合と同じように、「より大きい」と「より小さい」にはプラス文字とマイナス文字を使用します。

find . -mtime +30 -daystart

許可を得て検索

-permオプションを使用して、アクセス許可に基づいてファイルを検索できます。

find public_html/wp-admin/css -perm /444

/がプレフィックスとして使用される場合、少なくともカテゴリでは、ファイルが一致するために少なくともそれぞれのビットが設定されている必要があります。

-プレフィックスの場合、少なくとも指定されたビットを設定する必要があります。

所有者による検索

-userおよび-groupパラメーターを使用して、特定のユーザーまたはグループが所有するファイルを検索します。

find -user testc7963

結論

さまざまな基準と引数を使用してfindコマンドを適用する方法を示しました。
この記事では、Linuxコンピューターでファイルを見つける方法の基本的な理解を提供する必要があります。