findコマンド
0.改定履歴
- 1997.06.18 初版
- 2002.08.29 サイズで検索する場合の追加と,locateコマンドへのリンク.
1.はじめに
このドキュメントは,Solaris2.xで便利なコマンド,findの使い方の例を示す物である.
なお,MacOS XやLinuxの場合,locateコマンドを使った方が検索が速い.
2.どこかにあるファイルを探す
- どこに保存されているか判らないファイルを探す.
- 検索パスにあるファイルであれば,whichコマンドが便利だが,パスに入っていない時はfindを使えばよい.
find 検索を始めるパス -name 探すファイル名 -print |
- ルートディレクトリから,swapというファイルを探す場合のコマンド
find / -name swap -print |
3.更新履歴からファイルを探す
- ある一定期間が経過したファイルを全部見つけ出したいような場合,次のようなコマンドで収集することが出来る.
find 検索を始めるパス -mtime 日付 -print |
ここではmtimeを使っているが,他に次のようなものがある.
オプション | 内容 |
---|---|
-atime | 最終アクセス日. ある日にち以内にアクセスされた場合. |
-mtime | 最終更新日. ファイルの中身が、ある日にち以内に修正された場合 |
-ctime | 最終ステータス更新日.ファイルのステータスが、ある日にち以内に変更された場合(所有者,グループ,リンク数など) |
次の例では,最終更新日から1日(24時間)経過したファイルの一覧を表示する.
find / -mtime -1 -print |
4.コアファイルの削除
find / -name core -exec rm {} \; |
5.オーナーが存在しないファイルの一覧
find / -nouser -print |
6.特定のユーザのファイル一覧
find / -user USER -print |
7.ファイルのサイズで探す
7.1.MacOS Xの場合
- 200byteのファイルを探す.
find / -size 200c -ls |
- 切り上げ後,512byte×100個=51200byteとなるファイルの一覧.
find / -size 100 -ls |
7.2.Linuxの場合
- サイズが100KB以上のファイル名を出力する.
find / size +100K -print |
- -100cとすると,cはByteを指すので,100Byte以下のファイル.