1、コマンドの概要
指定されたディレクトリ内のファイルを検索するコマンドを見つけます。前に配置された任意の文字列パラメータを使用して、検索するディレクトリ名とみなされます。多くは、定期的かつ強力なため、パラメータオプション、およびサポートを見つけます。パイプの組み合わせが複雑な機能を実現できると、システム管理者と一般ユーザは、コマンドをマスターする必要があります。このコマンドを使用する場合は、パラメータを設定していない、findコマンドは、現在のディレクトリ内のサブディレクトリとファイルを検索します。そして、すべてのサブディレクトリとファイルが表示されているになります。ピーク期間中にfindコマンドを使用しないように、サーバーの負荷が高い場合は、コマンドはまだ検索がシステムリソースを消費し、比較的あいまいです見つけます。
2、コマンドの構文
[パス] [オプション] [パラメータ]見つけます
3、コマンドオプション
-アミン<分>:ファイルまたはディレクトリ指定した時間、分単位でアクセスされていた見つける;
-anewer <参照ファイルまたはディレクトリは、>:近くに指定されたファイルやディレクトリのアクセス時間よりもそのアクセス時間を見つけます今ファイルまたはディレクトリ;
-atime <24時間数>:単位24時間を計算し、指定した時間に、ファイルやディレクトリにアクセスしていた検索;
-cmin <分>:検索をオフに指定した時刻に変更されましたファイルまたはディレクトリ、
ファイルまたはディレクトリを変更するには、指定した時間が現在のファイルまたはディレクトリに近いよりも、その時の外観を変更する<参照ファイルまたはディレクトリを> -cnewer;
-ctime <24時間番号>:検索ファイルは、指定した時刻に変更されていますまたは24時間の単位で計算されたディレクトリ、;
-daystart:1日の開始から時間を計算;
-depth:指定したディレクトリから、最も深いサブディレクトリスタートが探して;
-expty:どんなずに0バイトのファイルまたはディレクトリのファイルサイズを見つけます空のサブディレクトリやファイル;
-exec <実行コマンド>:命令はディレクティブの実装に、値がTrueを返す見つけると仮定;
-false:findコマンドの戻り値がFalseに設定されている。
-FLSを<コラム ファイル>:このパラメータと「-ls」パラメータが、指定されたリストファイルの結果を保存しますに似て指定された効果;
-follow:負のシンボリックリンク;
-fprint <リストファイル>:このパラメータの効果と指定された「-print 「同様のパラメータが、指定されたリストのファイルに結果を保存します。
-fprint0 <リストファイル>:このパラメータと指定された効果」-print0「同様のパラメータが、指定されたリストのファイルに結果を保存します。
-fprintf <リストファイル> <出力形式>
-fstype <ファイルシステムタイプ>:単にファイルシステムタイプ内のファイルやディレクトリを探し、
-gid <グループID>:ファイルまたはディレクトリの資格の指定されたグループIDを見つける;
-group <グループ名>: ;グループ名が指定されたファイルまたはディレクトリにマッチする検索
オンラインヘルプを;:-helpまたは--help
-ilname <スタイルテンプレート>:このパラメータの効果に類似し、「-lname」パラメータを指定し、その差の文字ケースを無視します。
-iname <スタイルテンプレート>:このパラメータの効果と指定し、「-name」同様のパラメータが、その差の文字ケースを無視し、
-inum <iノード番号>:指定したファイルまたはディレクトリiノード番号に準拠して下さい。
-ipath <テンプレートスタイル>:このパラメータの効果とは、「-path」同様のパラメータを指定して、その差の文字ケースを無視し、
-iregex <スタイルテンプレート>:このパラメータの効果と指定し、「-regexe」パラメータは似ていますが、文字ケースを無視します違いは、
<接続数>を-links:ハードワイヤードの指定したファイルまたはディレクトリ番号を遵守して下さい。
-iname <スタイルテンプレート>:指定された文字列のシンボリックリンクとして見ているテンプレートパターン;
-ls:仮定の指示を見つけます 戻り値トゥーレは、標準出力にファイルまたはディレクトリ名に一覧表示されます。
-maxdepth <階層ディレクトリ>:ディレクトリには、最大レベルを設定します。
-mindepth <階層ディレクトリ>:最小レベル設定されたディレクトリ、
-mmin <分>:検索指定された時間は数分でファイルやディレクトリ単位を変更しました。
-mount:このパラメータと指定された効果「-xdev」同じことを、
-mtime <数24時間>
-name <スタイルテンプレート>:テンプレートのスタイルとして、ファイルやディレクトリを検索した文字列を指定します。
-newer <参照ファイルまたはディレクトリ>:ファイルまたはディレクトリを変更するには、指定した時間が現在のファイルまたはディレクトリに近いよりも、その時の外観を変更します。
-nogroup :ローカルホストグループIDのファイルまたはディレクトリを見つけることができません。
-noleaf:少なくとも二つのディレクトリの存在を考慮していないハードワイヤード持っている必要があります。
-nouser:ローカルホストのユーザ識別コードのファイルやディレクトリを見つけることができません。
-このパラメータと同様の「-exec」指定された効果は、しかし、命令の前に最初の答えは「y」または「Y」、コマンドの実行が放棄された場合、ユーザーに求めます。:OK <命令を実行>
-path <スタイルテンプレート>:スタイルを見つけるために、指定した文字列のテンプレートディレクトリとして、
-permは、<許容値>:指定された値と一致して、ファイルやディレクトリのパーミッションを探す;
-print:見つけるの命令は、戻り値トゥーレは、リストに名前をファイルまたはディレクトリと仮定します標準出力。フォーマットは、フロント傑のそれぞれの名称、各列の名前である「./」という文字列;
-print0:指示トゥーレの戻り値を見つけるとし、標準出力にファイル名またはディレクトリ名に表示されます。形式名はすべて同じ行にある。
-printf <出力フォーマット>:コマンドの戻り値トゥーレを見つけるとし、標準出力にファイル名またはディレクトリ名に表示されます。あなたはフォーマット自体を指定することができます。
-prune:文字列テンプレートのスタイルとして、ファイルやディレクトリを検索しようとしません。
-regex <スタイルテンプレート>:テンプレートのスタイルとして、ファイルやディレクトリを検索した文字列を指定します。
-size <ファイルサイズ>:指定された遵守見つけますファイルのファイルサイズ;
-true:findコマンドの戻り値がTrueに設定されている。
-type <タイプ>:のみ指定されたファイルの種類の遵守を探しています。
-uid <ユーザーID>は:指定されたユーザー識別コードと一致するファイルやディレクトリを検索し、
古本<日数>:変更は、指定した時間内にファイルやディレクトリをアクセスされた後にファイルやディレクトリを検索し、毎日計算部;
-user <所有者名>:所有者とオペレータ名を指定したファイルやディレクトリを検索し、
-versionまたは--version:バージョン情報を表示し、
-xdev:最初のファイルシステムの限られた範囲;
<-xtypeファイルタイプ>:このパラメータと指定された効果と同様の「型」パラメータは、違いはシンボルをチェックするために接続されていることです。
-o:パラレルクエリ条件
-i <オプション>:ケースを無視
!:負のパラメータ値は否定しました。
図4に示すように、コマンドの例
ディレクトリとサブディレクトリ内のすべてのファイルとフォルダの現在のリスト:
1 [ルート@ localhostの〜]#を発見。 2 或 3 [ルート@ localhostの〜]#を発見。-print
では /tmp
ディレクトリで終わる.txtファイル名を検索します。
1 [ルート@ localhostの〜]#の検索を/ tmp / -name " * .TXT "
上記と同じですが、ケースを無視します:
1 [ルート@ localhostの〜]#の検索を/ tmp / -iname " * .TXT "
/ tmpディレクトリとサブディレクトリにある.TXTとの.bakで終わるすべてのファイルを検索します。
1 [ルート@ localhostの〜]#の検索を/ tmp / -name " * .TXT " -o -name " * .BAK " 2 或者 3 [ルート@ localhostの〜]#の検索を/ tmp / \(-name " * .TXT " -o -name " * .BAK " \)
一致するファイルのパスまたはファイルを検索します。
1#検索を/ tmp / -path [〜localhostのルート@] 「*ローカル* 」#検索パスまたはファイルのパスまたはファイル名がローカルが含まれています
ファイルパスにマッチする正規表現に基づい:
1 [ルート@ localhostの〜]#の検索を/ tmp / -regex " * \(\ TXT \ |。\ .BAK \)。$ "
上記と同じですが、ケースを無視します:
1 [ルート@ localhostの〜]#の検索を/ tmp / -iregex " * \(\ TXT \ |。\ .BAK \)。$ "
負のパラメータ!:
代わりに終わる.TXTとファイルの/ tmpディレクトリを検索します。
1 [ルート@ localhostの〜]#の検索を/ tmp /!-name " .TXT "
ファイルタイプ別検索:
見つけるの/ tmp / -type typeパラメータ
Typeパラメータリスト:
F:通常のファイル
L:シンボリックリンク
D:ディレクトリ
C:キャラクタデバイス
B:ブロックデバイス
S:ソケット
P:FIFO
ディレクトリ階層検索の深さに基づいて:
最大ファイル3の検索ディレクトリ階層:
1 [ルート@ localhostの〜]#見つけるの/ usr / -maxdepth 3型F
少なくとも2つのサブディレクトリ内のすべてのファイルのカレントディレクトリからの深さを検索します。
1 [ルート@ localhostの〜]#見つけるの/ usr / -mindepth 2型F
ファイルのタイムスタンプで検索:
TMP型F /見つけるのタイムスタンプ
アクセス時間(-atime /日、 -アミン/分):最後のユーザーのアクセス時間。
(-mtime /日、-mmin /分)更新:ファイルが最後に変更された時間でした。
状態時間(-ctime /日、-cmin /分):ファイルのステータスが最後に変更されました。
すべてのファイルは、過去7日間の検索以内にアクセスされ、すべてのファイルを検索すると、最初の7日間に訪れたことを起こる、検索がより7日間すべてのファイルを訪問されました:
。1 [ルート@ localhostの〜]#の検索を/ tmp / F型-atime - 7日7# 2 [ルート@ localhostの〜]#の検索を/ tmp / F型-atime 7日7日# 。3 [ルート〜@localhost]#は/ tmp / Fの-atime +型を探す7日より7#
10分以上アクセスされたすべてのファイルを検索します。
。1 [ルート@ localhostの〜]#検索を/ tmp / F -アミン+型10 10分以上の# 2 [localhostのルート@〜]#は-アミンを/ tmp / Fの型を探す10分に等しい10# 3 [ルート@ localhostを〜]#検索を/ tmp / -type F -アミン- 10#10分以内
/ tmpディレクトリの比A.TXTファイルを見つける長いために変更されたすべてのファイルのを:
1 [ルート@ localhostの〜]#は見つけるの/ usr / -type F -newer /tmp/a.txt
ファイルサイズに基づいてマッチング:
/ tmpの型Fサイズのファイルサイズのユニットを見つけます
ファイルサイズ単位:
B:ブロック(512バイト)
C:バイト
W:ワード(2バイト)
K:キロバイト
メガバイト:M
G:Gバイトを
10キロバイトを超えるファイルの検索、ファイルの検索は10キロバイト未満であり、10キロバイトのファイル検索は以下のようになります。
1 [ルートローカルホスト@〜]#検索/ TMP /型F -size + 10K#大于10K 2 [ローカルホストルート@〜]#の検索/ TMP /型F -size - 10K#小于10K 3ローカルホスト[ルート@〜 -size 10K#等于10K F / -type]#見つけるの/ tmp
一致するファイルを削除します。
現在のディレクトリ内のすべての.txtファイルを削除します。
1 [ルート@ localhostの〜]#の検索を/ tmp / -type fが-name " * .TXT " -delete
ファイルのパーミッション、試合の所有権は、よると:
/ tmpディレクトリのパーミッションでは644個のファイルではありません/ tmpディレクトリに権限を検索、777個のファイルを検索します:
1 [ルート@ localhostの〜]#の検索を/ tmp /型のF -perm 777 2 3 [ルート@ localhostの〜]#の検索を/ tmp /型F!-perm 644
ユーザーliuzggが所有するすべてのファイルの/ tmpディレクトリを検索します。
1 [ルート@ localhostの〜]#の検索を/ tmp / -type F -user liuzgg
ユーザグループの仕事が所有するすべてのファイル/ tmpディレクトリを検索します。
1#の検索を/ tmp /型のF -基ジョブ[〜ルート@ localhostの]
-exec
他のコマンドと一緒にオプション:
/ tmpディレクトリ内のすべてのファイルのルートを見つけると、ユーザーliuzggに所有権を変更します。
。1 [ルート@ localhostの〜]#はルート-exec chownコマンドliuzgg {} \ -userを/ tmp / Fの型を見つけ、
たとえば上記、{} のために-exec組み合わせて使用されるファイルのすべてに一致するオプション、および置換されますファイル名。
すべての.txtファイルはホームディレクトリ内を検索し、削除します。
。1 [localhostのルート@が〜] $#HOME / -nameを検索します。" * .TXT " - OK RM {} \; 2 [ルート@ localhostの〜] $#HOME / -nameを探す" * .TXT " - OK {RM } \; 。3 [ルート@ localhostの〜] $#は、HOMEの-nameを探す" * .TXT " - ; RM {} \ OK 。4 [ルート@ localhostの〜]〜#-name検索" * .TXT " -OK RMを{} \;
上記すべてのモード4で、注意を払う:隠しファイルを削除することも.TXTで。
上記の例で、-okと-exec行動同じ、それが適切な行動かどうかを求めるプロンプトが表示されます。
/ tmpディレクトリにあるすべての.txtファイルを検索し、all.txtファイルを書き込むためにそれらを一緒にスプライシング:
1 [ルート@ localhostの〜]#の検索を/ tmp / -type fが-name " * .TXT " -exec猫{} \;> /tmp/aall.txt
30日前の古いディレクトリに.logファイルをコピーします。
1 [ルートローカルホスト@〜]#の検索/ TMP / F型-mtime + 30 -name " * .TXT " -exec CP {} / TMP \。
/ tmpディレクトリにあるすべての.txtファイルを検索し、する:の「ファイル名」でフォームをプリントアウト:
1#の検索/ TMP /型のF -name [〜ローカルホストルート@] " * .txtの" -execのprintf " ファイル:%S \ nを" {} \。 2ファイル:を/ tmp / 11111 .TXT 3ファイル:/ tmpに/ aall.txt 4ファイル:/ tmpに/ all.txt 5 [ルート@ localhostの〜]#
単一行コマンドパラメータ-execコマンドを複数使用することができないため、以下の方法は、複数のコマンドを受け入れた後に実施することができる-exec
-exec ./text.sh {} \。
しかし、指定されたディレクトリのうちサーチは、現在のディレクトリまたはサブディレクトリのすべての.txtファイルを見つけますが、サブディレクトリを/ tmp /仕事をスキップ:
1 [ルート@ localhostの〜]#の検索を/ tmp / -path " を/ tmp /仕事" -prune -o -name " * .TXT "