find の使い方


find は目的のファイルを見つけ出す為のコマンドですよね。
wndowsだとエクスプローラーで簡単に検索できますがlinuxだとどうでしょう?
多くのファイルマネージャーは検索機能をもっていますが、一度コマンドを覚えてしまうと
こっちの方が楽だと思います。

例えば インターネットからダウンロードしたはずの abc.zip をどこに保存したか忘れてしまった
場合には
find / -name "abc.zip" -print
となります。
意味合いは / デリレクトリから abc.zip というファイルを探して画面へ表示しなさい。
ということです。
実際には / ディレクトリから探すと時間もかかりますし、一般ユーザーであれば保存できる
ディレクトリも限られているので例の  / の部分を /home 等にかえて、ある程度しぼった
範囲を検索するのが現実的でしょう。
この他多くのオプションを備えています。



【注意】find を manコマンドを参照すると更新と変更 というまぎらわしい言葉がありますが、
                   更新とはファイルの内容の更新、変更とは内容及びファイル名やファイル属性等の
                  あらゆる変更を示します。

例1) 1日以内に更新されたファイルを /ディレクトリから探す場合。
 find / -mtime -1 -print

例2) 10分以内に変更されたファイルを /ディレクトリから探す場合。
find / -cmin -10 -print

例3)ファイルサイズが10M以上のファイルを/ディレクトリから探す場合。
find / -size +10000k -print              ← 見付けたファイル名のみ知りたい場合。バイトを指定したいならc です。
find / -size +10000k -ls                    ← 見付けたファイルの詳細を知りたい場合

例4) /以下のcore ファイル を見付けて確認しながら削除する場合。
find / -name "core" -ok rm {} \;            ← -ok command で指定したコマンドを実行します。{} を記述すると実行結果をファイル名に置き換えます。

例5) 最近作成したabcを含むファイルがどこかにいってしまった。/ から探してみる場合。
find / -mtime -3  -name "*abc*"   -print

★ その他の主なオプション
 -mount 他のファイルシステムを探しません。デュアルブートでdos領域をマウントしている時などは便利ですよね。
-type 指定されたファイルタイプならば真を返します。    d:ディレクトリ f:通常のファイル  l:シンボリックリンク 等

その他多くのオプションがあります。man コマンド等を参照してみて下さい。
 
 

       一覧に戻る          へなちょこlinuxのコーナー