ファイル検索【基礎編】 | 株式会社スタイラジーの「居心地の良い」ブログ

株式会社スタイラジーの「居心地の良い」ブログ

会社の事や仕事の事、
その他イベントなど、
色々な話題を思うがままに
株式会社スタイラジー社員
の日常を紹介します。

株式会社スタイラジーの
「居心地の良い」ブログ、
2008年1月7日スタート!

Linuxシリーズも定着してきた(と、思っている)ところで、

今日はファイル検索について見て行きたいと思います。
ちなみに過去記事はこちらになります。

・ディレクトリ移動
https://ameblo.jp/stylagy/entry-12375829737.html

・テキストファイルの閲覧について
https://ameblo.jp/stylagy/entry-12376333102.html

(※これらはそのうちまとめます。)

ファイル検索についてLinuxでは

デフォルトで二つコマンドが用意されています。
それがfindコマンドとlocateコマンドです。


find

まずはfindコマンドですが、
これは実際のストレージ上にアクセスして
ファイル一つ一つに対して照合を行います。
オプションにより非常に柔軟な検索が可能となっている一方、
上記理由から動作が比較的遅いという特徴があります。
(いくつかのオプションについて次の機会にご紹介します)
また、ファイルシステムにアクセスして検索を行うため、
権限の無いディレクトリは検索できません。

【カレントディレクトリ配下にあるphpファイルを検索】

find . -name *.php


locate

locateコマンドはストレージ上を検索するのではなく、

専用のDBを検索します。
そのため高速で、権限の無いディレクトリも検索可能です。
ただしDBが更新されていないと

結果に反映されないので注意が必要です。
更新のタイミングは管理者のcrontabによる定期更新、
もしくは管理者のupdatedbコマンドによる手動実行です。

【Apacheの設定ファイルを検索】

locate httpd.conf


一般的にプログラムのソースやデータファイル、
ログファイルなどを検索する場合はfind、
設定ファイルなどを検索する場合はlocateという使い分けをします。
 

次回「ファイル検索 応用編」をお伝えします!