読者です 読者をやめる 読者になる 読者になる

竹林のゆとりブログ

山奥で生活し、日々の思いをつらつらと書くブログ。 IT、数学、アニメなど。

find(Linux)があいまいだったので、まとめてみた。

findの理解が曖昧だったので、まとめてみきた

findの文法

find [dir_name] [検索パターン] [コマンド]

検索対象のディレクトリに検索パターンで探し、 その結果をコマンドに渡し、その結果を返してくれます。

文法詳細

  • dir_name
    [dir_name]は複数指定可能。省略も可能 省略した場合は全ディレクトリになる。

  • 検索パターン
    複数指定可能。 検索パターンとコマンドの順序は交換可能。 省略した場合は全ファイル/ディレクトリが該当になる

  • コマンド
    複数指定可能。省略した場合はただ表示されるのみ

オプションの意味

dir_name

dir_nameはディレクトリ名を書きます。

  • 該当しないディレクトリの場合
    "そのようなファイルやディレクトリはありません"となります。

  • /をつけない場合
    相対パスだとみなされます。

  • いくつかのオプション
    ~はHome dirをさします。
    * /ro*で検索する/rootなど 他の正規表現は機能しなさそうでした。

検索パターン

  • -atime n
    最後にアクセスされたのがn日前のファイルを検索する

  • -empty
    空のファイルや中身のないディレクトリのみ

  • -name pattern ワイルドカードのpatternがある。

  • -perm mode
    ファイルのいアクセス権がmodeであるファイルを検索する。modeには755等

  • -type c
    ファイルタイプを指定する。cがdの場合はディレクトリ、fなら通常ファイル、lならシンボリックリンク

  • -user uname
    所有者がunameのファイルを検索する

コマンド

  • -print
    結果を表示する。

  • -ls
    詳細付きで結果を表示する

  • -fprint file 検索結果をfileに書き出す

  • -exec command
    検索語にコマンドを実行する。 検索結果は{}に格納する。
    ex rm {}とすると、検索結果を削除する。

  • -ok command
    上と同じだが、ユーザに確認をする。

まとめ

わらかないものを調べると理解が増しますね。 今後調べることを契機にユースケースを載せたいと思います。