utte

which コマンドの実行ファイルの場所を表示する

which [オプション] コマンド名...

試してみる

主なオプション

-a最初の1つだけでなく、PATH の中の一致をすべて表示する

解説

何をするコマンドか

which は、環境変数 PATH に書かれたディレクトリを順に探し、最初に見つかった実行ファイルの場所を表示します。コマンドを実行したときに、実際にどのファイルが動くのかを確かめられます。同じ名前のコマンドが複数あって、思った方が動かないときの調査に使います。

見つからないとき

見つからないと、何も表示せず、終了コード1で終わります。スクリプトでコマンドがあるかの確認に使えます。

which が分からないもの

which が調べるのは、PATH にある実行ファイルだけです。cd や type のようなシェルの組み込みコマンドや、シェルのエイリアス・関数は、実行ファイルが別にないかぎり表示されません。それらも含めて調べたいときは type を使います。

似たコマンドとの違い

コマンド 調べるもの
which PATH の中の実行ファイル
type 組み込み、エイリアス、関数、実行ファイルのどれか
whereis 実行ファイル、マニュアル、ソースの場所

このコマンドを使う問題

  1. whichでコマンドの場所を調べる

関連するコマンド

LinuC 101の出題範囲