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という使い分けをします。
次回「ファイル検索 応用編」をお伝えします!