カテゴリ: Linux基礎 更新日: 2026/05/10

whichコマンドの使い方を完全解説!実行ファイルの場所を初心者でも確認する方法

whichコマンドの使い方!実行ファイルの場所を確認する
whichコマンドの使い方!実行ファイルの場所を確認する

先生と生徒の会話形式で理解しよう

生徒

「Linuxでインストールしたプログラムがどこにあるか知りたいときは、どうやって調べますか?」

先生

「そのときはwhichコマンドを使うと便利です。コマンドの実行ファイルの場所を簡単に確認できますよ。」

生徒

「例えば『python』とか『ls』の実行ファイルがどこにあるかを知りたいときですか?」

先生

「そうです。Linuxではコマンドは実際にはファイルとして存在していて、それがどのパスにあるかを教えてくれるのがwhichです。」

1. whichコマンドとは?

1. whichコマンドとは?
1. whichコマンドとは?

whichコマンドは、Linuxで実行可能なプログラムやコマンドの実際のファイルの場所(パス)を確認するためのコマンドです。例えば、同じ名前のプログラムが複数あった場合、どのプログラムが優先して使われるかも確認できます。

Windowsでいう「プログラムの場所を探す」機能に似ていますが、Linuxではターミナルから簡単に調べられるのが特徴です。

2. 基本的な使い方

2. 基本的な使い方
2. 基本的な使い方

whichの基本的な使い方はとてもシンプルです。調べたいコマンド名を後ろに書くだけです。


which ls
/bin/ls

この例では、lsコマンドの実行ファイルは/bin/lsにあることがわかります。

3. 複数のコマンドを同時に確認する

3. 複数のコマンドを同時に確認する
3. 複数のコマンドを同時に確認する

複数のコマンドの場所を一度に確認したいときもwhichは便利です。スペースで区切ってコマンド名を並べます。


which python3 gcc
/usr/bin/python3
/usr/bin/gcc

これで、python3gccの実行ファイルの場所がそれぞれわかります。

4. 複数候補がある場合の確認(-aオプション)

4. 複数候補がある場合の確認(-aオプション)
4. 複数候補がある場合の確認(-aオプション)

同じコマンド名の実行ファイルが複数の場所にある場合、-aオプションをつけるとすべての候補を表示できます。


which -a python3
/usr/bin/python3
/usr/local/bin/python3

このように、優先される順番で複数の実行ファイルが表示されます。

5. PATH環境変数との関係

5. PATH環境変数との関係
5. PATH環境変数との関係

whichは、LinuxのPATH環境変数に設定されたディレクトリの順番に沿ってコマンドを探します。

PATH環境変数とは、Linuxが「どこにコマンドがあるか」を探すためのディレクトリのリストです。


echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PATHにあるディレクトリの順に、コマンドが存在するかをwhichがチェックします。

6. 実行ファイルが見つからない場合

6. 実行ファイルが見つからない場合
6. 実行ファイルが見つからない場合

もし指定したコマンドがPATH上に見つからない場合、whichは何も表示しません。これは「そのコマンドは現在の環境では使えない」という意味です。


which mycustomcmd

表示が何もなければ、そのコマンドはインストールされていないか、PATHに含まれていないことを意味します。

7. 実用例:スクリプト内でコマンドの場所を確認する

7. 実用例:スクリプト内でコマンドの場所を確認する
7. 実用例:スクリプト内でコマンドの場所を確認する

シェルスクリプトを書くときに、特定のコマンドがどこにあるかを確認してフルパスで使うことがあります。これにより、異なる環境でも正しくコマンドを呼び出せます。


#!/bin/bash
PYTHON_PATH=$(which python3)
echo "Python3は $PYTHON_PATH にあります"

このスクリプトを実行すると、Python3の場所を確認して表示してくれます。

8. 便利な使い方:sudoと組み合わせる

8. 便利な使い方:sudoと組み合わせる
8. 便利な使い方:sudoと組み合わせる

ルートユーザーでコマンドを実行する場合や、PATHが変わる場合、sudoと組み合わせて確認できます。


sudo which apt
/usr/bin/apt

こうすることで、ルート権限で使用する場合のコマンドの場所も確認できます。

9. まとめ的ポイント

9. まとめ的ポイント
9. まとめ的ポイント
  • whichはコマンドの実行ファイルの場所を簡単に確認できる。
  • -aオプションで複数候補を表示できる。
  • PATH環境変数に沿って検索されるので、自分の環境の優先順位を知ることもできる。
  • スクリプトでコマンドのフルパスを使うと、環境依存の問題を防げる。

まとめ

まとめ
まとめ

本記事では、Linuxでプログラムやコマンドの実行ファイルの場所を確認する方法としてwhichコマンドの使い方を徹底的に解説しました。whichコマンドは、特定のコマンドがシステム上でどこにインストールされているかを調べることができ、複数のコマンドの確認や、-aオプションを使った全候補の表示、PATH環境変数との関係まで理解することで、より安全で効率的なLinux操作が可能になります。初心者の方でも、which lswhich python3といった基本的な使い方を身につけることで、日常のターミナル操作やスクリプト作成の際に大いに役立ちます。また、スクリプト内でのフルパス利用や、sudoと組み合わせた管理者権限での確認方法も紹介しましたので、環境依存の問題を防ぎつつ確実にコマンドを呼び出すことができます。これにより、Linux初心者でもコマンドの場所を正確に把握し、安心して操作を進められるようになります。

特にポイントとなるのは、whichがPATH環境変数に従って検索を行うため、自分の環境で優先的に使われるコマンドの位置を把握できることです。複数候補がある場合はwhich -a コマンド名で全ての候補を確認できるため、環境によって異なるバージョンや場所のコマンドを意識した運用も可能です。さらに、スクリプトや自動化作業の中でフルパスを指定することで、異なるユーザーやシステムでも正確にコマンドを実行することができます。これらの知識を活用することで、Linux操作の効率化とトラブル防止に大きく貢献します。

先生と生徒の振り返り会話

生徒

「今日学んだwhichコマンドは、実際にどんな場面で役立つのですか?」

先生

「例えば、PythonやGCCのようなプログラムをインストールしたとき、どのパスに存在するかを確認したい場合です。which python3と打つだけで簡単に場所を調べられます。」

生徒

「複数の同じコマンドがある場合も確認できるんですか?」

先生

「はい、-aオプションを使うと全ての候補を表示できます。これで、優先される順番や環境ごとの違いも把握できます。」

生徒

「スクリプト内で使う場合も便利そうですね?」

先生

「その通りです。フルパスをスクリプトに組み込むことで、他の環境でも正しくコマンドを呼び出すことができます。例えば次のように書けます。」


#!/bin/bash
PYTHON_PATH=$(which python3)
echo "Python3は $PYTHON_PATH にあります"

生徒

「sudoと組み合わせる場合はどうなりますか?」

先生

「管理者権限で使用する場合、sudoとwhichを組み合わせると、ルート環境でのコマンドの場所も確認できます。例えば、sudo which aptと入力します。」


sudo which apt
/usr/bin/apt

生徒

「PATH環境変数の順番も関係するんですね?」

先生

「そうです。PATHに設定されたディレクトリの順番に沿ってwhichは検索するため、どのディレクトリのコマンドが優先されるかも理解できます。これを知っておくと、異なる環境やバージョンの違いでトラブルになるのを防げます。」

生徒

「まとめると、whichを使うとコマンドの場所がすぐにわかり、スクリプトや自動化作業、管理者権限でも便利に使えるということですね。」

先生

「その通りです。今日学んだことを活用すれば、Linux操作の効率化とトラブル防止に必ず役立ちます。ぜひ日常の操作で実践してみてください。」

カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
patch -Rオプションの使い方を完全ガイド!初心者でもわかるLinuxでパッチを元に戻す方法
New2
テキスト・データ処理
less -Xオプションの使い方を完全ガイド!終了後も画面内容を残す方法
New3
ファイル・ディレクトリ操作
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説
New4
ディスクとファイルシステム管理
dfコマンドの使い方を完全ガイド!初心者でもわかるLinuxのディスク使用量確認方法
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
lsコマンドとは?Linuxでファイルやディレクトリを一覧表示する基本を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!