はじめに
LinuxやmacOS、Windows(WSL)などのUnix系環境でコマンドを実行するとき、どのディレクトリにある実行ファイルが使用されるのかを確認したい場面があります。
その際に便利なのが which
コマンド です。
which
コマンドを使うと、コマンドの実体となる実行ファイルのフルパスを表示できます。
本記事では、which
コマンドの使い方や関連する環境変数について詳しく解説します。
1. which
コマンドとは?
which
コマンドは、指定したコマンドがシステム内のどこに存在するかを確認するためのコマンドです。
具体的には、PATH
環境変数に登録されているディレクトリ内を検索し、一番最初に見つかった実行ファイルのパスを表示します。
基本構文
which [オプション] コマンド名
例
$ which python
/usr/bin/python
この場合、システムは /usr/bin/python
にある python
コマンドを実行していることがわかります。
Macbookの実際のターミナル画面
2. which
コマンドのオプション
1. -a
オプション(すべてのパスを表示)
通常、which
は最初に見つかったパスのみを表示しますが、-a
オプションを付けると、PATH 内のすべての一致するパスを表示できます。
例
$ which -a python
/usr/bin/python
/usr/local/bin/python
このように、複数のバージョンの python
がインストールされている場合、それぞれのパスを確認できます。
2. --help
オプション(ヘルプ表示)
which
コマンドの使い方を確認したい場合は、--help
を使用できます。
$ which --help
3. which
を活用したトラブルシューティング
1. コマンドが見つからない場合
$ which mycommand
結果が何も表示されない場合、
- コマンドがインストールされていない
-
PATH
に正しく追加されていない
可能性があります。
2. 意図しないバージョンが実行される場合
複数のバージョンのプログラムが存在する場合、which -a
で確認し、実行したいバージョンのパスを優先するように PATH
を調整できます。
$ which -a python
/usr/bin/python
/usr/local/bin/python
この場合、
export PATH=/usr/local/bin:$PATH
のように優先順位を変更できます。
まとめ
-
which
コマンドは、指定したコマンドがどこにあるかを確認するのに役立つ。 -
which -a
を使うと、すべての該当するパスを表示できる。 -
which
で見つからない場合は、PATH
の設定を確認する。
which
コマンドを活用して、コマンドの実行環境を正しく使ってみてください