Search

findコマンド覚書

2015年10月19日

よく使うオプション

-type : ディレクトリ、ファイルを指定できる。
     ディレクトリ:-type d
         ファイル   :-type f
         シンボリックリンク:-type l
-exec : 検索した結果にをコマンドに渡す
-name : 名前の条件指定
-mtime: 時間の条件オプション。日にちを設定する。
     検索対象のタイムスタンプと比較して抽出を行う。
-mmin : 時間の条件オプション。分単位で設定する。
     検索対象のタイムスタンプと比較して抽出を行う。

find ./ -type f
現在のディレクトリのファイルを抽出する。

find ./ -name “*.list” -exec rm -rf {} \;
*.listで抽出したファイルを削除する。マッチしたファイル・ディレクトリパスが{}に渡される。

find ./ -mtime -1
後述する


-mtime、-mminについて

このオプションは非常に使い勝手がよい。
その反面、理解まで時間がかかる。

使い方はこう。

find ./ -mtime n  n*24時間前から、さらに過去24時間以内に更新されたファイル
find ./ -mtime +n (n+1)*24時間前よりも、以前に更新されたファイル
find ./ -mtime -n n*24時間前よりも後で更新されたファイル

※mmin はmtime を「n*24時間」が「分」に置き換えて考えます。

1日前から更新されたデータがほしい場合、find ./ -mtime -1
1日より前に更新されたデータがほしい場合、find ./ -mtime +0

絵で表すと下記ですね。nのみはわかりづらいので、かきませぬ。。。

3日前      2日前       1日前          現在
|-----------|-----------|-----------|----
find ./ -mtime +0     <-|
                        |-> find ./ -mtime -1

参考

http://d.hatena.ne.jp/tgk/20080904/1220525665