which, whereis, find, locate の違い
2007/02/08 22:06 posted by kunkichi
自宅サーバ用にCentOSのインストール手順について調べていたら、結構な数で locate コマンドのデータベースを作ってる人が多いんだよね。locate コマンドって「ファイル検索」系のコマンドってことだけは知ってたんだけど、ほとんど使ったことがなくて、検索する時はいつも大体こんな感じ。
- ファイル検索・・・find
- コマンド検索・・・which
で気になったのでこれらの検索系コマンドがどう違うのか調べてみた。
- (コマンドも含めた全ての)ファイル・ディレクトリの検索
- find
ファイル名・ディレクトリ名を検索。
ただし、ベタにディレクトリ配下をなめるような検索を行うので時間がかかる場合あり。 - locate
ファイル名・ディレクトリ名を検索。(ここまでは find と一緒)
予め検索結果のデータベースを作成しておくので検索が高速。
ただし、データベース更新の後にファイルの移動とかを行うと、再度更新しないと反映されない。
よって定期的な更新が必要。
- find
なるほどね。ついでにwhich、whereisとの違いは。
- コマンド(つまり実行権があるファイル)の検索
- which
コマンドへのパスを表示する - whereis
コマンドのバイナリ・ソース・マニュアルのパスを表示する。
- which
ということらしい。あんまり考えずにベタな方を使ってるってことか、爆





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