find 指定した条件に一致するファイルを検索するUnixコマンド

findは指定した条件に一致するファイルを検索するUnixコマンドである。

構文

find dir options
dir

検索する基点となるディレクトリを指定する。指定したディレクトリの中にサブディレクトリがある場合、再帰的に検索される。

optionsには検索条を指定できる。また、検索条件に合致するファイルやディレクトリに対して行う処理も指定できる。

-exec command

commandで指定したコマンドを実行して、 実行したコマンドが終了ステータスとして0を返した場合に真となる。コマンドの終わりには、 コマンドの終了を表すセミコロン(;)を付ける必要がある。コマンド引数{}は、現在のパス名に置き換えられる。

-print

検索条件: なし。

処理: 検索条件に合致するファイルやディレクトリのパスを表示する。

-t type

検索条件: ファイルやディレクトリのタイプを指定する。

type 説明
d ディレクトリ
f 通常ファイル

処理: なし。

対応状況

OS 対応
Linux OK
Solaris OK

使用例

ファイルやディレクトリの情報をフルパスで出力する。

$ find /home/tsuka -exec ls -ed {} \;

再帰的にディレクトリのパーミッションを変更する。

$ find /home/tsuka -type d -exec chmod 775 {} \;

再帰的にファイルのパーミッションを変更する。

$ find /home/tsuka -type f -exec chmod 664 {} \;

Linuxコマンド