I ♥ WordPress

which, whereis, find, locate の違い
2007/02/08 22:06 posted by kunkichi

自宅サーバ用にCentOSのインストール手順について調べていたら、結構な数で locate コマンドのデータベースを作ってる人が多いんだよね。locate コマンドって「ファイル検索」系のコマンドってことだけは知ってたんだけど、ほとんど使ったことがなくて、検索する時はいつも大体こんな感じ。

  • ファイル検索・・・find
  • コマンド検索・・・which

で気になったのでこれらの検索系コマンドがどう違うのか調べてみた。

  • (コマンドも含めた全ての)ファイル・ディレクトリの検索
    • find
      ファイル名・ディレクトリ名を検索。
      ただし、ベタにディレクトリ配下をなめるような検索を行うので時間がかかる場合あり。
    • locate
      ファイル名・ディレクトリ名を検索。(ここまでは find と一緒)
      予め検索結果のデータベースを作成しておくので検索が高速。
      ただし、データベース更新の後にファイルの移動とかを行うと、再度更新しないと反映されない。
      よって定期的な更新が必要。

なるほどね。ついでにwhich、whereisとの違いは。

  • コマンド(つまり実行権があるファイル)の検索
    • which
      コマンドへのパスを表示する
    • whereis
      コマンドのバイナリ・ソース・マニュアルのパスを表示する。

ということらしい。あんまり考えずにベタな方を使ってるってことか、爆

コメント&トラックバック

トラックバックURL





このページの先頭へ