🐧

【Linux】locate,which,findの違いと使用例

2023/07/13に公開

検索してもなかなか出てこないので、基本的なコマンドですが
locate,which,findの違いと使用例、使用するシーンをまとめました。

locate:

  • 特徴: locateコマンドはシステム全体のファイルとディレクトリの情報を保存したデータベースを検索します。データベースは定期的に更新されるため、大規模なシステムでも高速に検索ができます。ただし、最新のファイルやディレクトリ情報が含まれない場合があります。

  • 使用例:

    locate filename.txt
    
  • 使用するシーン: システム全体から特定のファイルやディレクトリを高速に検索したい場合。

which:

  • 特徴: whichコマンドは特定の実行可能ファイルのフルパスを探すために使用されます。ユーザーのPATH環境変数にリストされたディレクトリを検索します。

  • 使用例:

    which ls
    
  • 使用するシーン: シェルコマンドの実行ファイルの場所を知りたい場合。

find:

  • 特徴: findコマンドは指定したディレクトリから始めてその下の全てのディレクトリとファイルを再帰的に検索します。名前、サイズ、更新日時、パーミッション、所有者など多岐にわたるファイル属性を指定することができます。

  • 使用例:

    find /home -name filename.txt
    
  • 使用するシーン: 特定のディレクトリ以下から特定の条件にマッチするファイルやディレクトリを詳細に検索したい場合。ファイルシステムの現状をリアルタイムに反映するための検索が必要な場合。

Discussion