【コマンド詳細】whichコマンドの使い方とオプションまとめ

  • URLをコピーしました!
目次

which コマンドとは?

which コマンドは、Linux システムにおいて、指定されたコマンドが実行されるときに、
その実行ファイルのパスを検索して表示するコマンドです。

which はシステム管理の場面で、コマンドが正しいパスにあるかを確認したり、
システムパスの問題解決に役立ちます。

📌 他のLinuxコマンドもまとめて確認したい方へ
ファイル操作・検索・テキスト処理など用途別に整理した総合まとめはこちら。
Linuxコマンドまとめページ

基本構文

which [オプション] コマンド名
  • コマンド名: 検索するコマンド名を指定。
  • オプション: 操作を変更するための設定を提供。

注意:which コマンドは、パス シェルに設定された環境変数 $PATH に基づいて検索を行います。

主なオプション一覧

オプション説明
--versionwhich のバージョン情報を表示します。
--helpwhich の使用方法のヘルプを表示します。
-a$PATH 内で見つかった全ての実行パスを表示します。

各オプションの実行例と結果

1. 基本的な使用

which ls
  • 結果
    • ls コマンドの実行パスが表示されます。
/bin/ls

2. $PATH 内の全ての実行パスを表示 (オプション -a)

which -a python
  • 結果
    • python コマンドが検索され、使用可能な全てのパスが表示されます。
/usr/bin/python
/usr/local/bin/python

3. which コマンドのバージョン表示 (オプション --version)

which --version
  • 結果
    • which コマンドのバージョン情報が表示されます。
which (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.

4. which コマンドの使用方法を表示 (オプション --help)

which --help
  • 結果
    • which コマンドの使用方法とオプション一覧が表示されます。
Usage: which [options] [--] COMMAND [...]
Options:
  --version        Print version and exit
  --help           Print this help and exit
  -a               Print all matching pathnames of each COMMAND

実用例

1. コマンドが正しく設定されているかを確認

コマンドが実行可能なパスにあるかを検証します。

which java
結果例:
/usr/bin/java

これにより、指定したコマンドが正しいパスに存在することが確認できます。

2. 複数バージョンのパスを検診

複数のバージョンがある場合、使用されているパスを確認します。

which -a python
結果例:
/usr/bin/python
/usr/local/bin/python

3. システム構成の問題解決

コマンドが正しいパスを参照しているかを検証し、システム問題を解決するために which を使用します。

locate, which, whereis コマンドの違い

コマンド主な機能と用途
locateシステム全体のファイルデータベースを高速に検索します。 /var/lib/mlocate/mlocate.db に依存します。
which$PATH に基づいてコマンドの実行ファイルのパスを検索します。
whereisコマンドの実行ファイルだけでなく、ソースコードやマニュアルページの場所も検索します。

使い分け

  • locate
    システム全体からファイルを素早く検索したいときに使用します。ただし、updatedb を定期的に実行してデータベースを最新化する必要があります。
  • which
    コマンドの実行パスを確認し、$PATH の設定が正しいかをチェックしたいときに使用します。
  • whereis
    コマンドの実行ファイルだけでなく、関連するリソース(ソースコードやマニュアル)も探したい場合に適しています。

注意点

  • which は $PATH の設定に定位して検索を行うため、$PATH の設定が誤っていると正しい結果が得られません。
  • $PATH にリンクされていないファイルは検索されません。
  • command -v も使用できるため、こちらも検証に利用可能です。

まとめ

which コマンドは、パスの検診やシステム構成の問題解決に実用的なツールです。
コマンドの実行パスを確認したり、複数のバージョンを検証するのに役立ちます。
正しく使いこなすことで、管理作業の効率を上げましょう。

LPIC Lv1準拠!Linuxコマンド演習(基礎編)Vol.1【全10問】

厳選された100問のコマンド問題から、毎回ランダムで10問を出題。
挑戦するたびに新しい問題に出会えるので、真の実力が試されます。

1 / 10

テキストファイルの各行から特定の「列」や「文字範囲」を切り出すコマンドは?

2 / 10

ファイル名の末尾に「/」や「*」を付けてファイルの種類を判別しやすくするlsのオプションは?

3 / 10

テキストファイルの先頭からデフォルトで10行を表示するコマンドは?

4 / 10

現在マウントされているファイルシステムの一覧を表示するコマンドは?

5 / 10

実行中のプロセスをCPU使用率順などで動的に表示するコマンドは?

6 / 10

SSHで接続する際、特定の秘密鍵ファイルを指定してログインするオプションは?

7 / 10

リモートホストとの間でファイルを安全に転送(コピー)するコマンドは?

8 / 10

システム起動時からのカーネルのメッセージ(ログ)を表示するコマンドは?

9 / 10

システムのホスト名を確認・一時的に変更するコマンドは?

10 / 10

環境変数「PATH」の内容を表示するコマンドは?

あなたのスコアは

平均スコアは 63%

0%

目次