find コマンド

目的

照合式に一致するファイルを検索します。

構文

find [-H | -L] パス ... []

説明

find コマンドは、ディレクトリー・ツリーの中で、指定されたそれぞれの Path パラメーターを再帰的に検索し、ブール式と一致するファイルを探します。 ブール式は、以下のテキストに示す項を使用して記述されます。 find コマンドがディレクトリー構造を上から下へ再帰的に検索している場合は、現在の階層にシンボリック・リンクによってリンクしているディレクトリーを検索しません。 find コマンドからの出力は、Expression パラメーターで指定した項に応じて異なります。

find コマンドは 4.3 BSD 高速検索構文をサポートしません。

フラグ

項目 説明
-H コマンド・ラインで検出されたシンボリック・リンクに対して評価されたファイル情報とファイル・タイプが、リンクで参照されるファイル (リンク自体ではない) のファイル情報とファイル・タイプになります。 参照されるファイルが存在しない場合は、 ファイル情報とファイル・タイプはリンク自体に関するものです。 コマンド・ラインにないすべてのシンボリック・リンクに関するファイル情報は、 リンク自体のファイル情報です。
-L シンボリック・リンクに対して評価されたファイル情報とファイル・タイプが、 リンクで参照されるファイル (リンク自体ではない) のファイル情報とファイル・タイプになります。

式の項

ブール式と変数は、find コマンドの検索境界を PathExpression パラメーターの定義に従って記述します。
注: 以下の定義では、 n 変数は、 +n ( nより大きい)、 -n ( nより小さい) として表現できる 10 進整数を指定します。 または n (正確に n)、および Number 変数は、 +Number (より大きい Number)、 -Number (より小さい数値)、または Number (Number-1 to Number) として表現できる 10 進整数を指定します。
項目 説明
\(\) 括弧で囲まれている式が真であるとき、真となります。
-amin N n の値は、以下のいずれかの値とすることができます。
n
初期設定時間から減算されたファイル・アクセス時間を 60 秒で割った値 (余りは切り捨てる) が n のとき、値は真となります。
- n
初期設定時間から減算されたファイル・アクセス時間を 60 秒で割った値 (余りは切り捨てる) が n より小さいとき、値は真となります。
+n
初期化時間から減算されたファイル・アクセス時間を 60 秒で割った値 (余りは切り捨てる) が n ( UNIX03の場合、 n+ 1 より大きい) より大きい場合は、真として評価されます。

例えば、ファイルが 1 分から 2 分以内にアクセスされる場合、 -amin 2 は true です。

注: find コマンドの開始時刻より後にアクセスされるファイルは考慮されません。 ただし、 find コマンドがUNIX03 以外の動作のために単項 NOT 演算子内で使用される場合、コマンドの開始時刻より後に変更されたファイルは、 nの値まで表示されます。
-atime N n の値は、以下のいずれかの値とすることができます。
n
初期設定時間から減算されたファイル・アクセス時間を 86400 秒で割った値 (余りは切り捨てる) が n のとき、値は真となります。
- n
初期設定時間から減算されたファイル・アクセス時間を 86400 秒で割った値 (余りは切り捨てる) が n より小さいとき、値は真となります。
+n
初期化時間から減算されたファイル・アクセス時間を 86400 秒で割った値 (余りは切り捨てた値) が n ( UNIX03の場合、 n+ 1 より大きい値) より大きい場合は、真として評価されます。
注: -atime の定義は、Single UNIX Specification、バージョン 3 に準拠するように変更されています。 ファイルが 24 時間の n-1 から n の倍数でアクセスされた場合、 -atime の以前の動作は True と評価されます。 デフォルトでは、 find -atimeUNIX03より前と同様に機能します。 UNIX03 の動作は、環境変数 XPG_SUS_ENVON に設定し、 XPG_UNIX98OFFに設定することによって取得できます。

このオプションの以前の動作は、 XPG_UNIX98 変数を ONに設定することで取得できます。

find コマンドの開始時間以降にアクセスしたファイルは考慮されません。 ただし、 find コマンドがUNIX03 以外の動作のために単項 NOT 演算子内で使用される場合、コマンドの開始時刻より後に変更されたファイルは、 nの値まで表示されます。

-cmin N n の値は、以下のいずれかの値とすることができます。
n
初期設定時間から減算されたファイルの i ノード変更時間を 60 秒で割った値 (余りは切り捨てる) が n のとき、値は真となります。
- n
初期設定時間から減算されたファイルの i ノード変更時間を 60 秒で割った値 (余りは切り捨てる) が n より小さいとき、値は真となります。
+n
初期化時間から減算されたファイル i ノード変更時間を 60 秒で割った値 (余りは切り捨てる) が n ( UNIX03の場合、 n+ 1 より大きい) より大きい場合は、真として評価されます。
注: find コマンドの開始時刻より後に変更された i ノードを持つファイルは考慮されません。 ただし、 find コマンドがUNIX03 以外の動作のために単項 NOT オペレーター内で使用される場合、コマンドの開始時刻より後に変更された i ノードを持つファイルは、 nの値まで表示されます。
-cpio Device 現行ファイルを指定されたデバイスに cpio コマンド・フォーマットで書き込みます。
-ctime N n の値は、以下のいずれかの値とすることができます。
n
初期設定時間から減算されたファイルの i ノード変更時間を 86400 秒で割った値 (余りは切り捨てる) が n のとき、値は真となります。
- n
初期設定時間から減算されたファイルの i ノード変更時間を 86400 秒で割った値 (余りは切り捨てる) が n より小さいとき、値は真となります。
+n
初期化時間から減算されたファイル i ノード変更時間を 86400 秒で割った値 (余りは切り捨てる) が n より大きい場合 ( UNIX03の場合、 n+ 1 より大きい場合)、値は真となります。
注: -ctime の定義は、Single UNIX Specification、バージョン 3 に準拠するように変更されています。 ファイルが 24 時間の n-1 から n の倍数でアクセスされた場合、 -ctime の以前の動作は True と評価されます。 デフォルトでは、 find -ctimeUNIX03より前と同様に機能します。 UNIX03 の動作は、環境変数 XPG_SUS_ENVON に設定し、 XPG_UNIX98OFFに設定することによって取得できます。

このオプションの以前の動作は、 XPG_UNIX98 変数を ONに設定することで取得できます。

find コマンドの開始時間以降に i ノード変更したファイルは考慮されません。 ただし、 find コマンドがUNIX03 以外の動作のために単項 NOT オペレーター内で使用される場合、コマンド開始時刻以降に変更された i ノードを持つファイルは、 nの値まで表示されます。

-depth 値は常に真となります。 ディレクトリー階層を下位方向に検索していくので、ディレクトリー内のすべてのエントリーが、ディレクトリーそのものよりも先に影響を受けます。 それは、find コマンドを cpio コマンドと一緒に 使用して、書き込み許可を持たないディレクトリー内に含まれているファイルを転送する場合に便利です。
-ea ファイルにアクセス制御リスト (ACL) または拡張属性 (EA) が設定されていれば、値は真と評価されます。
-exec Command 指定したコマンドが実行されて、終了状況として値 0 が戻されるとき、値は真となります。 指定したコマンドの終わりには、引用符で囲んだセミコロン、エスケープされたセミコロン、または正符号を付ける必要があります。 2 つの文字 {} (中括弧) を含む引数の後には、指定したコマンドの終わりを示す正符号を付ける必要があります。 コマンド・パラメーター {} (中括弧) は現行パス名に置き換えられます。
-follow シンボリック・リンクおよびハード・リンクが後に続くようにします。
-fstype Type ファイルが属しているファイルシステムが指定されたタイプであるとき、値は真となります。 Type 変数の値には jfs (ジャーナル・ファイルシステム)、nfs (ネットワーク・ファイルシステム)、jfs2 (拡張ジャーナル・ファイルシステム)、procfs (proc ファイルシステム)、または namefs (名前ファイルシステム) が入っています。
-group Group ファイルが指定したグループに属するとき、値は真になります。 Group 変数の値が数値で、/etc/group ファイルに 無い場合は、グループ ID と解釈されます。
-iname ファイル名/パターン filenameまたはpattern変数の値がファイル名にマッチする場合、Trueと評価される。 -inameオプションは「-nameオプションと似ているが、大文字小文字を区別しない検索を行う点が異なる。 *、'? などのワイルドカード文字を含めることができます、 または[]をキーワードとして指定する。
-inum N ファイルの i ノード番号が n 変数の値と一致するとき、値は真となります。
-links N ファイル内に、指定した数のリンクがあるとき、値は真となります。 リンクについての説明は、ln コマンドを参照してください。
-iregex 正規表現 (regular_expression) ファイルのパス名全体が正規表現と一致する場合、値は真となります。 このオプションは -regex オプションと似ていますが、突き合わせの際に大/小文字を区別しない点は異なります。
-long -lsと組み合わせて使用すると、最初の 8 文字に切り捨てずに、各ユーザー/グループ名の使用可能なすべての文字が印刷されます。
-ls 値は常に真となります。 現行パス名を関連する統計と一緒に表示します。 これらの統計には、以下の値が含まれます。
  • i ノード番号
  • KB (1024 バイト) 単位のサイズ
  • 保護モード
  • ハード・リンク数
  • ユーザー
  • グループ
  • バイト単位のサイズ
  • 変更時間

ファイルがスペシャル・ファイルの場合、 サイズ・フィールドにはメジャー・デバイス番号とマイナー・デバイス番号が含まれます。 ファイルがシンボリック・リンクの場合、リンク先のファイルのパス名が -> (ハイフン、より大) シンボルに続いて出力されます。 このフォーマットは、ls -filds コマンドのフォーマットと似ていますが、フォーマット化は、ls コマンドを実行せずに内部的に行われます。 このため、ls コマンドの出力結果とは異なる場合があります (保護モードの出力の有無など)。

-mmin N n の値は、以下のいずれかの値とすることができます。
n
初期設定時間から減算されたファイル変更時間を 60 秒で割った値 (余りは切り捨てる) が n のとき、値は真となります。
- n
初期設定時間から減算されたファイル変更時間を 60 秒で割った値 (余りは切り捨てる) が n より小さいとき、値は真となります。
+n
初期設定時間から減算されたファイル変更時間を 60 秒で割った値 (余りは切り捨てる) が n ( UNIX03の場合、 n+ 1 より大きい値) より大きい場合は、真として評価されます。
注: find コマンドの開始時刻より後に変更されたファイルは考慮されません。 ただし、 find コマンドがUNIX03 以外の動作のために単項 NOT 演算子内で使用される場合、コマンドの開始時刻より後に変更されたファイルは、 nの値まで表示されます。
-mtime N n の値は、以下のいずれかの値とすることができます。
n
初期化時間から減算されたファイル変更時間を 86400 秒で割った値 (余りは切り捨てる) が nの場合は、真と評価されます。 86400 秒は 24 時間です。
- n
初期設定時間から減算されたファイルの変更時間を 86400 秒で割った値 (余りは切り捨てる) が n より小さいとき、値は真となります。
+n
初期化時間から減算されたファイル変更時間を 86400 秒で割った値 (余りは切り捨てる) が n より大きい場合 ( UNIX03の場合、 n+ 1 より大きい場合)、値は真となります。
注: -mtime の定義は、 Single UNIX Specification、バージョン 3に準拠するように変更されました。 -mtime の以前の動作は、ファイルが n-1 から 24 時間の n 倍に変更された場合に真と評価されます。 デフォルトでは、 find -mtimeUNIX03より前のように動作します。 UNIX03 の動作は、環境変数 XPG_SUS_ENVON に設定し、 XPG_UNIX98OFFに設定することによって取得できます。

このオプションの以前の動作は、 XPG_UNIX98 変数を ONに設定することで取得できます。

find コマンドの開始時間以降に変更したファイルは考慮されません。 ただし、 find コマンドがUNIX03 以外の動作のために単項 NOT 演算子内で使用される場合、コマンド開始時刻より後に変更されたファイルは、 nの値まで表示されます。

-name ファイル File 変数の値がファイル名と一致するとき、値は真となります。 通常の シェル・ファイル名生成文字 (sh コマンドを参照) が使用できます。 パターンは、引用符またはエスケープ文字で囲む必要があります。 find コマンドがシェルから使用される場合は、エスケープ文字が使用されます。 円記号 (¥) は、パターン内ではエスケープ文字として使用されます。 ワイルドカード (パターン・マッチング) 文字は、引用符で囲めば使用できます。

[a-z] のような式で、ハイフンは、現行の照合シーケンスによって からを意味します。 照合シーケンスは文字範囲内で使用する等価クラスを定義できます。 照合シーケンスおよび等価クラスについて詳しくは、「 グローバリゼーション・ガイドおよびリファレンス」の「 グローバリゼーションの概要 」を参照してください。

-newer ファイル 現行ファイルが、File 変数で指定したファイルよりも後に変更された場合、値は真となります。
-nogroup ファイルが /etc/group データベース以外のユーザーに属するとき、値は真となります。
-nouser ファイルが /etc/passwd データベースに無いユーザーに属するとき、 値は真となります。
-ok コマンド -exec 式と同じですが、find コマンドは、指定されたコマンドを開始する必要があるかどうかをユーザーに確認します。 ユーザーが肯定応答すると、そのコマンドを始動します。 指定したコマンドの末尾には、引用符で囲んだセミコロンまたは ¥; (円記号 (エスケープ) と セミコロン) を付けなければなりません。
-perm [-] OctalNumber ファイルの許可コードが OctalNumber パラメーターと正確に一致する場合、 値は真となります。 ファイルの許可については、chmod コマンドのセクションを参照してください。 オプションの - (ハイフン) がある場合は、少なくともこれらの許可が設定 されていれば、この式の値は真になります。 OctalNumber パラメーターには最高 9 個までの 8 進数を指定できます。
注: TCB 環境の一部であるファイルの場合、追加のセキュリティー・ビットがファイルの許可に追加されます。 これらのファイルには S_ITCB ビットが設定されており、セキュリティー・ビット・セットは 0x010000000 と定義されます。 よって、TCB 対応ファイルの 8 進数の許可の値には、ビット設定 100000000 がその他の許可ビットと一緒に含まれている必要があります。

例: TCB 環境の一部であるファイルをリストするには、find -perm 100000600 -print と入力します。 それによって、オーナー読み取り許可とオーナー書き込み許可のみを持ち、TCB 環境の一部であるファイル名がリストされます。 許可コードについての説明は、chmod コマンドを参照してください。

-perm [ - ] Mode ファイル・モード・ビットを表すのに、mode 引数が使用されます。 これは、 chmodで説明されている < symbolicmode> オペランドと同じ形式であり、次のように解釈されます。

最初に、テンプレートは、すべてのファイル・モード・ビットがクリアされているものと想定されます。 オペランド・シンボル (-) には、以下の機能があります。

+
適切なモード・ビットをテンプレート内に設定する。
-
適切なビットをクリアする。
=
プロセスのファイル・モード作成マスクの内容とは関係なく、適切なモード・ビットを設定する。

オペランド・シンボル - は、モードの先頭文字になることはできません。 それにより、オプションを先導するハイフンとのあいまいさが避けられます。 初期モードでは、すべてのビットがオフであるので、 先頭文字として - を使用する必要のあるシンボル・モードはありません。

ハイフンが省略されている場合、ファイル許可ビットが、結果として生じるテンプレートの値と正確に一致すると、 プライマリーは真として評価します。 そうでない場合、つまり、モードに、ハイフンがプレフィックスとして付いている場合、 少なくとも、結果として生じるテンプレート内のすべてのビットがファイル許可ビット内に設定されていれば、 プライマリーは真として評価します。

Mode パラメーターのコマンド構文は、chmod コマンド構文と同一です。 この式は、ファイルにこれらの許可が正確に付いていれば、値は真となります。 オプションの - (ハイフン) がある場合は、少なくともこれらの許可が設定 されていれば、この式の値は真になります。

-print 値は常に真となります。 現行パス名を表示します。 find コマンドは、-exec, - ls または -ok のいずれかの式を指定しない限り、-print 式を想定します。
-prune 値は常に真となります。 現行パス名がディレクトリーの場合は、そこから下位のパス名の検索は行われません。 -depth フラグを指定すると、-prune フラグは無視されます。
-size N ファイルの長さが指定した n ブロック (1 ブロックは 512 バイト) であるとき、値は真となります。 比較を行うために、ファイル・サイズはブロック単位に切り上げられます。
-regex 正規表現 (regular_expression) ファイルのパス名全体が正規表現と一致する場合、値は真となります。 このオプションでは正規表現の検索は行いませんが、ファイルの完全パス名と正規表現の突き合わせは行います。 例えば、./test という名前のファイルを突き合わせる場合、.*test.* または .*t.*t という正規表現を使用することができますが、t.*t は使用できません。
-regextype Type 値は常に真となります。 このオプションでは、-regex オプションと -iregex オプションにおける正規表現の構文のタイプを指定します。 このオプションは、コマンド・ラインの後ろの方にある正規表現にも影響します。

Type 変数には、次のいずれかの値を指定できます。

基礎
基本的な正規表現の構文。
Extended
拡張的な正規表現の構文。
注: -regextype オプションを使用しない場合、正規表現は basicとして解釈されます。
-size nc ファイルの長さが正確に、指定した n バイトであるとき、値は真となります。 cn 変数の末尾に追加すると、ファイルのサイズがブロック単位ではなく個々のバイト単位で測定されることを示します。
-type タイプ Type 変数が次のいずれかの値を示すと、値は真となります。
b
ブロック・スペシャル・ファイル
c
キャラクター・スペシャル・ファイル
d
Directory
f
プレーン・ファイル
l
シンボリック・リンク
p
先入れ先出し (名前付きパイプ)
s
ソケット
-user ユーザー ファイルが指定したユーザーに属するとき、値は真となります。 User 変数の値が数字で、/etc/passwd ファイルに ログイン名として記述されていない場合は、ユーザー ID と解釈されます。
-xdev 値は常に真となります。 find コマンドは、Path パラメーターで指定されたファイルシステムをまたがって検索するのを防止します。

これらの式は、次の演算子を優先順位が高い方から順に使用して組み合わせることができます。

  1. ( Expression) - 括弧で囲まれた式と演算子のグループ (括弧はシェル専用で、円記号のエスケープ・シーケンスが必要です)。
  2. ! Expression -式の否定 ('!' は単項 NOT 演算子です)。
  3. Expression [ -a ] Expression - 式の連結 (AND 演算は 2 個の式を並置して暗黙に指定するか、またはオプションの -a 演算子として明示的に記述することができます)。
  4. Expression -o Expression - 式の論理和。-o は OR 演算子です。 第 1 の式が真であれば、第 2 の式は計算されません。
注: find コマンドと cpio コマンドを一緒に使用する場合は、 cpio コマンドで -follow オプションと -L オプションを使用する必要があります。 これら 2 つのオプションを一緒に使用しなければ、望ましくない結果が生じます。 式が存在しない場合は、-print がデフォルトの式の中で使用されます。 例えば、指定された式に 1 次式 -exec-ok、または -printのいずれも含まれていない場合、式は (given_expression) -printに置き換えられます。 -user-group、および -newer プライマリーは、 それぞれの引数を 1 回だけ評価します。 -exec または -ok によって指定されたコマンドを使用しても、 同じファイル上のその後のプライマリーに影響しません。

終了状況

このコマンドは、以下の終了値を戻します。

項目 説明
0 すべての Path パラメーターが正常に処理されました。
>0 エラーが発生しました。

  1. 指定された基本ファイル名を持つファイル・システム内のすべてのファイルをリストするには、次のコマンドを入力します。
    find /  -name .profile -print
    このコマンドによって、ファイルシステム全体が検索され、.profile と いう名前のすべてのファイルの完全なパス名が書き出されます。 この /(スラッシュ) は、ルート・ディレクトリーとそのすべてのサブディレクトリーを検索するように find コマンドに指示します。 時間の無駄を省くには、ファイルが入っていると思われるディレクトリーを指定して、検索範囲を限定するのが最善の方法です。
  2. ルート・ディレクトリー内の「data名前を持つすべてのディレクトリーについて、大文字と小文字を区別しない検索を実行するには、次のコマンドを入力する:
    find / -type d -iname data
  3. 現行ディレクトリー・ツリー内の特定の許可コードを持つファイルをリストするには、次のコマンドを入力します。
    find . -perm 0600  -print
    このコマンドによって、オーナー読み取り許可とオーナー書き込み許可のみを持ったファイルの名前がリストされます。 . . (ドット) は find コマンドに対して現行ディレクトリーとそのサブディレクトリーを検索するよう指示します。 許可コードについての説明は、chmod コマンドを参照してください。
  4. 特定の許可コードを持つファイルを複数のディレクトリーで検索するには、次のコマンドを入力します。
    find manual clients proposals -perm -0600  -print
    このコマンドによって、オーナー読み取り許可とオーナー書き込み許可、およびその他の考えられる許可の付いたファイル名がリストされます。 このmanual,clientsおよびproposalsディレクトリーとそのサブディレクトリーが検索されます。 前の例では、-perm 0600一致する許可コードを持つファイルのみを選択します0600正確に この例では以下のようにします。-perm -0600によって示されるアクセスを許可する許可コードを持つファイルを選択します。0600および上記の他のアクセス0600レベル。 許可コード 0622 と 0744 も適合します。
  5. 現行ディレクトリー内のファイルのうち、現在の 24 時間以内に変更されたすべてのファイルをリストするには、次のコマンドを入力します。
    find .  -ctime 1  -print
  6. 複数のリンクを持つ通常のファイルを検索するには、次のコマンドを入力します。
    find .  -type f  -links +1  -print
    このコマンドは、通常ファイルの名前をリストします (-type f) 複数のリンクを持つ (-links +1).
    注: 各ディレクトリーには、少なくとも 2 つのリンクがあります。親ディレクトリー内の項目とそれ自体の項目です。.(ドット) 項目。 複数のファイル・リンクについては、ln コマンドのセクションで説明します。
  7. パス名に findが含まれているすべてのアクセス可能ファイルを検索するには、次のコマンドを入力します。
    find .  -name '*find*' -print
  8. 指定されたすべてのファイルを削除するにはa.outまたは*.o1 週間アクセスされず、 nfsを使用してマウントされない場合は、以下のコマンドを入力します。
    find / \( -name a.out -o -name '*.o' \) -atime +7 ! -fstype nfs -exec rm {} \;
    注: -atime 式内で使用される番号は +7です。 これは、アクセスされなかった時間が 1 週間 (24 時間の期間が 7 つ) を超えるファイルに対してコマンドを実行する場合の正しいエントリーです。
  9. SCCS という名前のディレクトリーまたは SCCS ディレクトリー内のファイルを除き、現行ディレクトリー内または現行ディレクトリーより下にあるすべてのファイルのパス名を印刷するには、次のコマンドを入力します。
    find .  -name SCCS  -prune -o -print
    SCCS ディレクトリーの名前を含む、現行ディレクトリー内、またはその下のすべてのファイルのパス名を表示するには、次のように入力します。
    find . -print -name SCCS -prune
  10. カレント・ディレクトリーとそのサブディレクトリーすべてにおいて、「testファイル名を持つすべてのファイルの大文字小文字を区別しない検索を実行するには、次のコマンドを入力する:
    find . -iname test
  11. 正確に 414 バイトの長さのすべてのファイルを検索するには、次のコマンドを入力します。
    find . -size 414c -print
  12. /home/user/Documentsディレクトリー内の拡張子「.txt」を持つすべてのファイルの大文字小文字を区別しない検索を実行するには、次のコマンドを入力する:
    find /home/user/Documents -iname "*.txt"
  13. .c サフィックスを持つホーム・ディレクトリー内のすべてのファイルを検索して削除するには、次のコマンドを入力します。
    find /u/arnold -name "*.c" -exec rm {} \;
    find コマンドが .c という接尾部でファイルを識別するたびに、rm コマンドがそのファイルを削除します。 rm コマンドは -exec 式に対して指定される唯一のパラメーターです。 { } (中括弧) は現行パス名を表します。
  14. この例では、dirlink はディレクトリー dir へのシンボリック・リンクです。 コマンド行でシンボリック・リンク dirlink を参照して dir 内のファイルをリストするには、次のコマンドを入力します。
    find -H dirlink -print
  15. この例では、dirlink はディレクトリー dir へのシンボリック・リンクです。 dirlink内のファイルをリストし、シンボリック・リンクを含む dir の下のファイル階層をトラバースするには、次のコマンドを入力します。
    find -L dirlink -print
  16. シンボリック・リンク dirlink によって参照されるファイル dir1dir2より新しいかどうかを判別するには、次のコマンドを入力します。
    find -H dirlink -newer dir2
    注: -H フラグが使用されているため、時間データは dirlink からではなく、 dir1から収集されます。これは、シンボリック・リンクをトラバースすることによって検出されます。
  17. 拡張されたユーザー名およびグループ名を使用して、現行ディレクトリー内のファイルのリストを ls 形式で作成するには、次のコマンドを入力します。
    find . -ls -long
  18. 現行ディレクトリーに ACL/EA が設定されているファイルをリストするには、次のコマンドを入力します。
    find . -ea
  19. 60 分以内に変更されたファイルをリストするには、次のコマンドを入力します。
    find . -mmin -60
  20. パス名にパターン afile が含まれている、 /home ディレクトリー内のすべてのパス名を検索するには、次のコマンドを入力します。
    find /home -regextype basic -regex ".*afile.*"
  21. /home ディレクトリー内のパス名のうち、パス名にパターン afile または cap が含まれているすべてのパス名を検索するには、次のコマンドを入力します。
    find /home -regextype extended -regex ".*afile.*|.*cap.*"
  22. /home ディレクトリー内のパス名のうち、パス名にパターン afileAFILEcap、または CAp が含まれているすべてのパス名を検索するには、次のコマンドを入力します。
    find /home -regextype extended -iregex ".*afile.*|.*cap.*"
  23. ルート・ディレクトリとそのサブディレクトリにある、ファイル名に文字列 「main」が含まれ、拡張子がアルファベット「o」で終わる任意の長さのファ イルを大文字小文字を区別せずに検索するには、次のコマンドを入力する:
    find / -iname "*main*.*o"
    このコマンドの検索結果は、'main.o、'app_main.c.o、'mAin.O、'APP_MAIN.oのようなファイルを返します。
  24. ルート・ディレクトリとそのサブ・ディレクトリにある、ファイル名に 「main文字列が含まれ、1文字の拡張子を持つすべてのファ イルについて、大文字と小文字を区別しない検索を行うには、次のコマンドを 入力する:
    find / -iname "*main*.?"
    このコマンドの検索結果は、'main.c、'app_main.o、'MAIN.c、'App_main.oのようなファイルを返します。
  25. ルート・ディレクトリとそのサブ・ディレクトリにある、拡張子が「.T で、その後に任意の1文字が続き、アルファベットが「tであるすべての ファイルについて、大文字と小文字を区別しない検索を行うには、以下のコマンドを 入力する:
    find / -iname "*.T?t"
    このコマンドの検索結果は、'file.T1t、'log.Tot、'file.txt、'log.tot、または'log.toTのようなファイルを返します。
  26. ルート・ディレクトリとそのサブ・ディレクトリにある、拡張子が「.Sh、「.md、「.Sd、「.mhいずれかであるすべてのファイルについて、大文字と小文字を区別しない検索を実行するには、次のコマンドを入力する:
    find / -iname "*.[Sm][hd]"
    このコマンドの検索結果は、'readme.sh、'logo.md、'logo.sd、'readme.mh、'readme.SH、または'logo.mDのようなファイルを返します。

ファイル

項目 説明
/usr/bin/find find コマンドが入っています。
/bin/find find コマンドへのシンボリック・リンク。
/etc/group すべての既知グループのリストが入っています。
/etc/passwd すべての既知ユーザーのリストが入っています。