GNU/Linux >> Linux の 問題 >  >> Linux

Linux/UNIXでコマンドを検索

Linuxのfindコマンドは、コマンドラインから直接ファイルを検索するときに便利です。 findコマンドには、問題のファイルまたはディレクトリを見つけるための権限、所有権、変更、サイズ、時刻、日付などの検索条件が与えられます。

findコマンドはデフォルトですべてのLinuxディストリビューションで使用できるため、使用するために特別なパッケージをインストールする必要はありません。その重要性から、findコマンドは、Linuxディストリビューションのコマンドラインナビゲーションについて詳しく知りたい場合に学習するために不可欠なコマンドです。

検索コマンドの例のいくつかを強調し、使用できるさまざまなオプションについて説明します。

構文

$ find location  comparison-criteria  search term

現在のディレクトリ内のファイルの一覧表示

フォルダ内のファイルを含むディレクトリ内のすべてのファイルを一覧表示するには、以下のコマンドを実行します。

$ find .

サンプル出力

指定したディレクトリ内のファイルを検索する

特定のディレクトリ内のすべてのファイルを検索する場合は、次のようにfindコマンドを使用します

$ find directory_name

たとえば、/ boot内のすべてのファイルを検索するには、コマンドを実行します

$ find /boot

サンプル出力

指定したディレクトリ内のファイル名を使用してファイルを検索する

ディレクトリ内のファイル名を使用して検索条件を指定する場合、構文は次のようになります

$ find directory_name -name "file_name"

たとえば、/etcディレクトリでApache2ファイルを検索するには

を実行します。
$ find /etc -name "apache2"

出力

指定したファイル拡張子を持つすべてのファイルを再帰的に検索します

特定のディレクトリで特定の拡張子を持つ特定のファイルを検索する場合、構文は次のようになります

$ find directory_name  -name "*.extension"

たとえば、/ etcディレクトリ内のすべての構成ファイル(.conf)を検索するには、

を実行します。
$ find /etc -name "*.conf"

サンプル出力

検索の深さを制限する

ディレクトリでのファイル検索の深さを制限することを決定できます。たとえば、ファイル検索をディレクトリの最初のレベルに制限する場合、構文は次のようになります

$ find directory_name -maxdepth 1 -name "*.conf"

したがって、ファイル検索を / etcの第1レベルのディレクトリに制限する場合 .confのファイルの場合 拡張実行:

$ find /etc -maxdepth 1 -name "*.conf"

サンプル出力

上記の出力に見られるように、ファイル検索は / etcに制限されています ディレクトリレベル。より集中的な検索を実行し、 / etc内の他のディレクトリをさらに深く調べたい場合 ディレクトリ、 maxdepthを増やします 値。

たとえば、 .confでファイルを検索するには 3番目のディレクトリまでの拡張実行

$ find /etc -maxdepth 3 -name "*.conf"

サンプル出力

上記の出力からわかるように、検索は2番目と3番目のディレクトリまで行われます。

検索結果を反転する

また、findコマンドを使用して、指定された基準を満たさないファイルを検索することもできます。このモードは、検索パターンから既知のファイルを削除する場合に役立ちます。

これを行うには、-not -nameを使用します 示されている属性

$ find /etc -maxdepth 1 -not -name "*.conf"

サンプル出力


上記の出力は、.conf 拡張機能を使用します。

OR演算子を使用した検索の使用

-oで表されるOR演算子を使用して、検索結果と検索結果を組み合わせることができます。 以下の例に示すフラグ

$ find /etc -maxdepth 3 -name "cron" -o -name "ssh"

サンプル出力

上記のコマンドは、 sshという名前のファイルを検索します またはcron

ファイルのみまたはディレクトリのみを検索する

ファイルのみを検索する場合は、- type fを使用します 以下の例に示すような属性

$ find /etc -type f -name "ssh"

サンプル出力

ディレクトリのみを検索する場合は、- type dを使用します 以下の例に示すような属性。

$ find /etc -type d -name "ssh"

サンプル出力

特定のユーザーが所有するファイルの検索

特定のディレクトリで特定のユーザーが所有するファイルを検索するには、次の構文を使用します。

$ find /path -user username

たとえば、ユーザー jamesが所有するファイルを検索するには /homeにあります ディレクトリは以下のコマンドを実行します

$ find /home -user james

サンプル出力

特定のファイル権限を持つファイルを検索する

特定のファイル権限を持つファイルを検索するには、以下の構文を使用します

$ find /directory_name  -type f -perm value

たとえば、 / etcで権限755のファイルを検索するには ディレクトリ、実行:

$ find /etc -type f -perm 755

サンプル出力

特定のファイルサイズまたはファイル範囲のファイルを検索する

Linuxのfindコマンドを使用すると、ユーザーはファイルサイズに応じてファイルを検索することもできます。

Nサイズのファイルを検索

たとえば、10kbのファイルを検索するには、次のコマンドを実行します。

$ find /etc -type f -size 10k

サンプル出力

10kbを超えるファイルを検索するには

 find /etc -type f -size +10k

サンプル出力

10kb未満のファイルを検索するには

 find /etc -type f -size -10k

サンプル出力

概要

これは、Linuxのfindコマンドの例の概要です。すでに示したように、コマンドラインでファイルとディレクトリを検索するのは非常に簡単です。コマンドがどのように動作するかを知ることは、すべてのシステム管理者にとって不可欠なツールです。
上記の検索コマンドの例を自由に試して、どのように実行されたかをお知らせください。


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

  2. UNIX / Linux:10 の Netstat コマンドの例

  3. 10 Linux / UNIX での Xargs コマンドの例

  1. Linuxでのripgrep(rg)コマンドの使用

  2. Linuxmvコマンド

  3. Linux find コマンド - 進行状況を表示

  1. Linuxduコマンド

  2. Linuxipコマンド

  3. Linux での find コマンドの例