【Linux入門】which コマンド:コマンド実行ファイルの場所

コマンドの概要

 whichコマンドは、指定されたコマンドが実際にどのディレクトリに存在するかを検索し、そのパスを表示するためのコマンドです。特定のコマンドがどの実行可能ファイルとして実行されるかを確認するのに役立ちます。

 whichコマンドは、環境変数PATHに登録されているディレクトリを左から順に実行可能ファイルを検索して、デフォルトでは最初に見つかったファイルだけを表示します。

コマンドの主なオプションと説明

オプション説明
-a見つかった全てのコマンドのパスを表示する。
--skip-dot環境変数PATHに「./」から始まるディレクトリがある場合、そのディレクトリを検索しない。
--all-aの同義語。
主なオプションと説明

コマンドの使用例と解説

コマンドのパスを表示

lsコマンドの実行可能ファイルのパスを表示します。

$ which ls
alias ls='ls --color=auto'
	/usr/bin/ls

複数のコマンドのパスを表示

 lsコマンドが複数のディレクトリに存在する場合、それらの実行可能ファイルのパスを全て表示します。

$ which -a ls
alias ls='ls --color=auto'
	/usr/bin/ls
	/bin/ls

カレントディレクトリおよびPATHのディレクトリ内のカレントディレクトリを無視

 lsコマンドの実行可能ファイルを検索する際に、カレントディレクトリおよびPATHのディレクトリ内のカレントディレクトリを無視します。

$ which --skip-dot ls
alias ls='ls --color=auto'
	/usr/bin/ls

--allオプションの使用

 -aオプションと同様に、lsコマンドが複数のディレクトリに存在する場合、それらの実行可能ファイルのパスを全て表示します。

$ which --all ls
alias ls='ls --color=auto'
	/usr/bin/ls
	/bin/ls

まとめ

 whichコマンドは、特定のコマンドがどのディレクトリに存在するかを素早く確認するのに役立ちます。特に、異なるディレクトリに同じ名前のコマンドが存在する場合などに利用されます。