MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Linuxコマンド - findのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Linuxコマンド - find
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == findコマンドとは、ファイルやディレクトリを検索するコマンドである。<br> <br> findコマンドで検索できるものは、名前、名前の一部、タイムスタンプ、ファイルサイズ等がある。<br> 検索した結果に対しては、他のコマンドを組み合わせることで何かの処理をすることも可能である。<br> <br> CMSをインストールする作業の中では、ある条件のファイルのみにパーミッションを設定するような作業がよくある。<br> そのような時は、このfindコマンドを使用することで効率が良くなる。<br> <br> ここでは、findコマンドの基本的な使用方法および便利な使用方法を記載する。<br> <br><br> == findコマンドの基本 == findコマンドの基本的な書式は次の通りである。<br> find <検索開始ディレクトリ> <検索条件> <アクション> <br> findコマンドは、<検索開始ディレクトリ>を起点として、<検索条件>を満たすファイルを探して、<アクション>を実行する。<br> <検索条件>に何も指定しない場合、全てのファイルとディレクトリが対象となる。<br> <br> 例えば、以下の例では、.(カレントディレクトリ)を起点として、hoge.txtファイルを探して、そのパスを表示している。<br> この例では、<検索条件>として<code>-name hoge.txt</code>を指定しており、ファイル名を絞り込んでいる。<br> また、<アクション>として<code>-print</code>を指定しており、パス名を表示するためのものである。<br> <アクション>を指定しない場合は、標準で<code>-print</code>が指定されるので、省略しても構わない。<br> find . -name hoge.txt -print <br> <u>ディレクトリ名またはファイル名が空白を含む場合、<code>-print0</code>オプションを付加する。</u><br> <code>find</code>コマンドや<code>xargs</code>コマンド等は、空白を複数ファイルのリストの区切りとして扱うため、空白を含むファイルの受け渡しができないためである。<br> <br> <code>xargs</code>コマンドでは、<code>-0</code>オプションを付加する。<br> <code>-0</code>オプションは、ファイルのリストの区切り文字において、空白ではなく<code>\\0</code>(ヌル文字)を使用する。<br> これにより、空白を含むファイル名も正常に扱うことができる。<br> # txt拡張子のファイル群のファイル内容から、パターン"hoge"を検索する find . -name "*.txt" -print0 | xargs -0 grep -iE "hoge" <br><br> == findコマンドのオプション == <center> {| class="wikitable" | style="background-color:#fefefe;" |- ! style="background-color:#66CCFF;" | オプション ! style="background-color:#66CCFF;" | 説明 |- | -name || ワイルドカードを使用して、ファイルやディレクトリ名の一部のみ指定した検索する。<br><u>大文字小文字を区別する。</u><br>ファイル名の指定には、ワイルドカードである*(任意の文字列)と?(任意の1文字)が使用できる。<br>ワイルドカードを使用する時は、'(シングルクォーテーション)でファイル名を囲むこと。 |- | -iname || ワイルドカードを使用して、ファイルやディレクトリ名の一部のみ指定した検索する。<br><u>大文字小文字を区別しない。</u><br>ファイル名の指定には、ワイルドカードである*(任意の文字列)と?(任意の1文字)が使用できる。<br>ワイルドカードを使用する時は、'(シングルクォーテーション)でファイル名を囲むこと。 |- | -atime || 任意の日数にアクセスされたファイルやディレクトリを検索する。 |- | -mtime || 任意の日数に更新されたファイルやディレクトリを検索する。 |- | -amin || 任意の分数にアクセスされたファイルやディレクトリを検索する。 |- | -mmin || 任意の分数に更新されたファイルやディレクトリを検索する。 |- | -anewer || 任意のファイルの更新日時よりも後にアクセスしたファイルやディレクトリを検索する。 |- | -newer || 任意のファイルの更新日時よりも後に変更したファイルやディレクトリを検索する。 |- | -empty || ファイル容量が0のファイルやディレクトリを対象とし検索する。 |- | -size || ファイル容量を指定し検索する。 |- | -type f || ファイルのみを対象とし検索する。 |- | -type d || ディレクトリのみを対象とし検索する。 |- | -type l || シンボリックリンクのみを対象とし検索する。 |- | -perm || パーミッションで検索する。 |- | -and || 複数の条件を使って、全ての条件に当てはまるファイルやディレクトリを検索する。 |- | -or || 複数の条件を使って、いずれかの条件に当てはまるファイルやディレクトリを検索する。 |- | -not || 条件に当てはまらないファイルやディレクトリを検索する。 |- | -exec || 検索結果に対してコマンドを実行する。 |} </center> <br><br> == findコマンドの組み合わせ == ==== mvコマンド / cpコマンド ==== findコマンドは、mvコマンドやcpコマンドと組み合わせて使用することができる。<br> # ~/hogeディレクトリ内の.c拡張子のファイル群を、~/piyoディレクトリに移動している find ~/hoge -name "*.c" -exec mv {} ~/piyo \; # ~/hogeディレクトリ内の.c拡張子のファイル群を、~/piyoディレクトリにコピーしている find ~/hoge -name "*.c" -exec cp {} ~/piyo \; <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
Linuxコマンド - find
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse