Linuxシステムでは、特定のコマンドがどこに存在しているかを確認するための方法がいくつかあります。
コマンドの実行ファイルのパスを確認することは、システム管理やスクリプト作成時に非常に便利です。
この記事では、Linuxでコマンドのパスを確認する方法について詳しく解説します。
方法

Linuxでコマンドのパスを確認する7つの方法を詳しく見ていきます。
which コマンドを使ってパスを確認する
which コマンドは、指定したコマンドの実行ファイルがどのディレクトリにあるのかを教えてくれる最も一般的なコマンドです。
基本構文:
which コマンド名
例:
which python3
出力例:
/usr/bin/python3
この結果では、python3 が /usr/bin/ に存在することがわかります。
whereis コマンドでパスを確認する
whereis コマンドは、実行ファイルだけでなく、そのソースコードやマニュアルページの場所も一度に確認できる便利なコマンドです。
コマンド:
whereis コマンド名
例:
whereis gcc
出力例:
gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/man/man1/gcc.1.gz
gcc の実行ファイルが /usr/bin/gcc に存在し、マニュアルが /usr/share/man/man1/gcc.1.gz にあることが確認できます。
type コマンドで詳細情報を確認する

type コマンドを使用すると、指定したコマンドがシェルのビルトインコマンドか、エイリアスか、あるいは実行ファイルかを確認できます。
コマンド:
type コマンド名
例:
type ls
出力例:
ls is aliased to `ls --color=auto`
この例では、ls コマンドがエイリアスとして定義されていることが確認できます。
実行ファイルの場合、そのパスが表示されます。
echo $PATH で検索パスを確認する
PATH 環境変数には、システムがコマンドを探すディレクトリのリストが格納されています。
これを確認することで、システムがどこからコマンドを検索しているのかを把握できます。
コマンド:
echo $PATH
出力例:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
: で区切られたディレクトリが表示されており、コマンドはこの順番で検索されます。
find コマンドでパスを探す

もし、コマンドのパスが標準の検索パスに含まれていない場合や、カスタムディレクトリ内にある場合、find コマンドを使って直接探すことができます。
例: /usr ディレクトリ内で python3 を探す
sudo find /usr -name python3
出力例:
/usr/bin/python3
/usr ディレクトリ内の python3 を検索し、そのフルパスが表示されます。
command -v コマンドでパスを確認する
command -v コマンドもまた、指定したコマンドのパスを確認するための簡単な方法です。シェルビルトインやエイリアスも確認できます。
コマンド:
command -v コマンド名
例:
command -v git
出力例:
/usr/bin/git
readlink コマンドでシンボリックリンクの実体パスを確認する
もしコマンドがシンボリックリンクの場合、readlink コマンドを使ってリンクの先の実行ファイルのパスを確認できます。
コマンド:
readlink -f コマンド名
例:
readlink -f /usr/bin/python3
出力例:
/usr/local/bin/python3.9
シンボリックリンクがどの実行ファイルに指しているのか確認できました。
まとめ
Linuxでコマンドのパスを確認する方法には、which、whereis、type、echo $PATH、find、command -v など複数のツールが利用できます。
これらを使い分けることで、システム内のコマンドがどこに存在するか、検索される順番やシンボリックリンクの実体パスを効率的に確認することが可能です。
コマンドのパスを正確に把握することは、システムの設定やトラブルシューティングにおいて非常に重要です。


コメント