findでファイル検索入門
翻訳校正:原井彰弘
"find"はLinuxに含まれている珠玉のツールだ。名前やファイルサイズ、更新日など多数の条件でファイルを検索することができる。ここではその使い方を例を交えながら説明する。
意外と知られていないようだが、"find"はLinuxに含まれている珠玉のツールだ。findでは、名前やファイルサイズ、更新日など多数の条件でファイルを検索することができる。findを用いることで、今まで時間をかけて手作業で探さなければならなかったファイルを、簡単に検索できるようになるだろう。
最も単純な使い方から説明しよう。findを用いてシステム内にあるすべてのファイルを表示するには、以下のように入力する。
$ find /
このように入力すると、すべてのファイルの一覧が表示される。特定のファイル名で検索したい場合には、次のように行う。
$ find / -name passwd /usr/bin/passwd /usr/sbin/passwd ...
また、passwdという名前で、かつパーミッションが0700のファイルを検索したい場合は、次のように入力すればよい。
$ find / -name passwd -perm 0700 /usr/sbin/passwd
setuidでrootに設定されたファイルをすべて検索したい場合は、次のように入力する。
$ find /usr -perm 4755 -user root
また、/tmpに含まれているファイルをすべて削除したいが、ディレクトリだけはそのまま保持したいという場合には、次のように入力すればよいだろう。
# find /tmp -type f -exec rm -f {} \;
このコマンドでは、種類がf(通常ファイル)のファイルを探し、それぞれのファイル({}で示されている)に対してコマンドrm -fを実行している。-execに渡されるコマンドは、バックスラッシュとセミコロン(\;)で終えなければならないことに注意して欲しい。もし、ここで自分のファイルのみを検索して削除したければ、次のように入力する。
$ find /tmp -type f -user `whoami` -exec rm -f {} \;
このように入力すれば、コマンドを実行しているユーザが所有するファイルのみが削除される。
また、カレントディレクトリ以下を検索したければ、パスにピリオド(.)を使用すればよい。加えて、他のあるファイルよりも後に作成されたファイルを探したい場合、次のように入力する。
$ find . -cnewer somefile.txt
このコマンドを実行すると、somefile.txtよりも後に作成されたファイルがすべて一覧で表示される。
最後に、複雑な例をお見せしよう。カレントディレクトリ以下にある過去30日間に変更されたファイルで、かつ文字列.svnが含まれていないものを探し、さらにそれらのファイルをlsコマンドで一覧表示したい場合、次のようにすればよい。
$ find . -type f -ctime -30 -not -regex ‘.*svn.*' -exec ls {} -al \;
ここでは、多くの値が指定されている。まず「種類がfのファイルすべて」、そして「30日以内に作成されたもの」、さらに「正規表現.*svn.*にマッチしないもの」。そして最後には、結果をlsコマンドにls [マッチしたファイル] -alとして渡しているのである。補足だが、このコマンドを読めば、マッチした文字列({})はコマンドの最後でなくても構わないということも分かるだろう。これ以外の記述方法としては、lsを呼び出さずに-printオプションを用いる方法がある。
$ find . -type f -ctime -40 -not -regex '.*svn.*' -print
findコマンドには、さまざまな基準にマッチする特定のファイルを見つけ出すために、多数のオプションとテストが用意されている。findはとても強力なのである。
- コメント(4件)
#1 大野晋一
- 2007/12/26 17:56:54
#3 大野晋一
- 2007/12/26 18:39:58
#4 ASL
- 2007/12/26 22:24:18
- ホワイトペーパー
- 企画特集
そのストレージで仮想化に対応できますか?
【徹底対談】運用管理ツールの賢い使い方
仮想環境を実現するソリューション特集
ロリポップ!がリニューアル
集積度も性能も、業界最高水準のブレードPC
ESBでIT投資の無駄を劇的に解消する
パンデミック対策特集
SOA、BPM、SaaS −今、企業に必要なこと
インターネット上の悪意を未然に防ぐには?
中小企業のセキュリティリスクとは?
御社のログ活用しませんか!?
セキュリティ&ユーザ事例【SIer Club】
今注目の「サジェスト検索」−デモ掲載中
ストレージメディア特設サイト開設
◆エン・ジャパン厳選求人☆毎週更新◆
- サービス・ドリヴン・データセンター
- エンタープライズにおけるSUSEの強み
- ■ストレージ容量50%削減保証■
- サーバー監視・運用のコストを削減するには
- 話題のタグ
Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――