【LPIC1】ファイル・ディレクトリを探す(find)

LPIC1

1.findとは

Linux でファイルやディレクトリを探すときによく使うコマンド。オプションで細かく検索できる。
検索方法は完全一致だが、ワイルドカードを使うことで部分一致にできる

2.使い方

(1)書式

find [検索開始ディレクトリ] [検索条件・オプション] [アクション]
例)find ./example -name “*.txt”
→./exampleディレクトリ以下で.txtが付くファイルを探し、見つかった全てを出力する。

(2)オプション

※特に覚えておいた方がいいオプションは黄色ラインで示しています。

find [検索開始ディレクトリ] -name “パターン”

パターンにマッチするファイル名を検索。

②find [検索開始ディレクトリ] -iname “パターン”

パターンにマッチするファイル名を検索。※大文字小文字を無視

find [検索開始ディレクトリ] -type ファイルタイプ

ファイルタイプに一致するファイルを検索。
【ファイルタイプ】
・f…通常ファイル
・d…ディレクトリ
・l…シンボリックリンク

④find [検索開始ディレクトリ] -size +nM※nは任意の数字

ファイルサイズで絞り込む。
(+=より大きい, -=より小さい, 単位: c, k, M, G)

⑤find [検索開始ディレクトリ] -mtime -n※nは任意の数字

最終更新がn日以内のもの。(+n=より古い, -n=より新しい)

⑥find [検索開始ディレクトリ] -atime

最終アクセス日時。

⑦find [検索開始ディレクトリ] -ctime

作成・属性変更日時。

find [検索開始ディレクトリ] -user ユーザー名

ファイルの所有者で絞り込む。

⑨find [検索開始ディレクトリ] -group グループ名

グループで絞り込む。

find [検索開始ディレクトリ] -perm nnn※nは権限の数字

パーミッションで絞り込む。

find [検索開始ディレクトリ] -empty

空のディレクトリやファイルだけ。

find [検索開始ディレクトリ] -maxdepth n※nは任意の数字

検索開始ディレクトリから見て、最大でn層まで検索する。
※nが0の時は検索開始ディレクトリのみ検索する。

find [検索開始ディレクトリ] -mindepth n※nは任意の数字

検索開始ディレクトリから見て,n層から検索する。
※nが0の時は検索開始ディレクトリから検索する。

(3)アクション※見つかったファイルに対して行う操作

①find [検索開始ディレクトリ] [検索条件・オプション] -print

検索結果の表示。※デフォルト

find [検索開始ディレクトリ] [検索条件・オプション] -ls

ls形式でファイルの詳細を表示する。

③find [検索開始ディレクトリ] [検索条件・オプション] -delete

検索結果のファイルを削除。

④find [検索開始ディレクトリ] [検索条件・オプション] -exec [コマンド] {} \;

見つけたファイル・ディレクトリを使って、[コマンド]で指定したコマンドを1件ずつ実行
※{}は、見つかったファイル・ディレクトリに自動で置き換わる。
※\;は、-execの終了を示す。

⑤find [検索開始ディレクトリ] [検索条件・オプション] -exec [コマンド] {} +

見つけたファイル・ディレクトリを使って、[コマンド]で指定したコマンドをまとめて実行
例)find . -name “*.log” -exec rm {} +
→見つかったファイルを「rm file1.log file2.log file3.log」という風に一括で渡して実行。
※+は、見つかったファイル名をまとめてコマンドに渡すという意味。

タイトルとURLをコピーしました