まあ 構成 というか 構文というようなもの
# find starting-dir(s) maching-criteria-and-actions
starting-dir(s) は 、find が ファイルの検索を開始する 一連のディレク トリです。デフォルトでは、find は、リストアップされたディ レクトリの下にあるすべてのディレクトリを検索します。その ため、開始ディレクトリに「 / 」を 指定すれば、ファイルシ ステム全体を検索します。
maching-criteria (合致基準)は、どのような種類のファイルを検索するの かをfind に指示します。
オプション 意味 -atime n ファイルが最後にアクセスされたのが ちょうど n 日前である。 -mtime n ファイルが最後に修正されたのが ちょうど n 日前である。 -newer file ファイルは file より後に修正された。 -size n ファイルの長さは n ブロック(1ブロックは 512 バイト)である (端数は次のブロックへ切り上げ)。 -type c ファイルの種類を指定する。 f: プレーンファイル、 d: ディレクトリ など。 -fstype typ ファイルシステムの名前を指定する。 -name nam ファイルの 名前は nam である。 -perm p ファイルの アクセスモードは p である。 -usr usr ファイルの 所有者は usr である。 -group grp ファイルの グループ所有者は grp である。 -nouser ファイルの所有者はパスワードファイルに記載されていない。 -nogroup ファイルの グループ所有者はグループファイルに記載されていない。
プラス記号 「+」 より 多い
ハイフン 「-」 より 少ない
-mtime +7 最新アクセスは 7日以上前 (????) -atime -2 最新アクセスは 2日以内 (こちらは 良い様ですが) -size +100 サイズが 100ブロック (50K)より 大きい
ワイルドカード 使用;シングルクウォートで 囲む
-name '*.dat' .dat で 終わる全てのファイル
デフォルトでは AND で 結ばれる また「 -o 」で OR 条件を 表現する。
最後にアクセスされたのが 2ヶ月以上前
で (AND)
最後に修正されたのが 4ヶ月以上前の ファイル
-atime +60 -mtime +120
オプション 、 OR 結合 を 表す 「 -o 」で 表示可能。エスケープ記号付き の 「(」と 「)」で 以下のように 表現すると
\( なんらかの 表現 \)
グループ化をする事が可能
最新アクセスが 七日以上前であるか、または最終修正が 三十日以上前に遡 るファイルを指定します。
\( -atime +7 -o -mtime +30 \)
NOT を示すには 、感嘆符を用います (C シェルの場合はシングルクォートでくくる)
! -name gold.dat -name \*.dat
gold.dat を 除く 全ての .dat ファイル 上記の ”ワイルドカード 使用;シ ングルクウォートで 囲む”の 部分の対応はどうなるのか 試してみないとわか りませんな
$ echo $SHELL /bin/bash $ find . ! -name 1001_file.html -name \*file.html ./4006_sendmail/1001_install/1003_inst/1002_file.html ./4006_sendmail/1001_install/1003_inst/1003_file.html ./4006_sendmail/1001_install/1003_inst/1004_file.html ./4006_sendmail/1001_install/1003_inst/1005_file.html ./4006_sendmail/1001_install/1003_inst/1006_file.html ./4006_sendmail/1001_install/1003_inst/1007_file.html ./4006_sendmail/1001_install/1003_inst/1008_file.html ./4006_sendmail/1001_install/1003_inst/1009_file.html ./4006_sendmail/1001_install/1002_inst/1002_file.html ./4006_sendmail/1001_install/1002_inst/1003_file.html ./4006_sendmail/1001_install/1002_inst/1004_file.html ./4006_sendmail/1001_install/1002_inst/1005_file.html ./4006_sendmail/1001_install/1002_inst/1006_file.html $ find . ! -name 1001_file.html -name '*file.html' ./4006_sendmail/1001_install/1003_inst/1002_file.html ./4006_sendmail/1001_install/1003_inst/1003_file.html ./4006_sendmail/1001_install/1003_inst/1004_file.html ./4006_sendmail/1001_install/1003_inst/1005_file.html ./4006_sendmail/1001_install/1003_inst/1006_file.html ./4006_sendmail/1001_install/1003_inst/1007_file.html ./4006_sendmail/1001_install/1003_inst/1008_file.html ./4006_sendmail/1001_install/1003_inst/1009_file.html ./4006_sendmail/1001_install/1002_inst/1002_file.html ./4006_sendmail/1001_install/1002_inst/1003_file.html ./4006_sendmail/1001_install/1002_inst/1004_file.html ./4006_sendmail/1001_install/1002_inst/1005_file.html ./4006_sendmail/1001_install/1002_inst/1006_file.html
どちらでも 良いのでしょう、色々試行してゆくうちにはっきりするでしょう。
-perm オプションを使えば、特殊アクセスモード(数値形式)のファイルを 検索できる。
数値に何も着いていない場合は、パーミッション設定に合致するファイルを 指定
数値の前にハイフンが有る場合は、少なくとも指定アクセスモードを示すファ イルを検索::実例を見た方が 良いのか?
-perm 755 パーミッション: rwxr-xr-x -perm -002 誰でも書き込み可能なファイル -perm -4000 setuid アクセスが設定されている -perm -2000 setgid アクセスが設定されている
へい まだまだ続く
にゃんたろう 拝!
2007年11月26日 (月) 21:11:42 JST 作成