【which,whereis】Linuxコマンド_プログラムのパス(Path)を表示する

LinuxOSにおいて入力したコマンドのプログラム(実行ファイル)がどこにあるか調べたい時は「which」コマンドを実行します。
また、「whereis」コマンドは実行ファイルを確認する他にも、そのプログラムに関連したファイルがどこにあるかを確認することができます。

「which,whereis」コマンドの使い方(Linux)

以下では、whichコマンド、whereisコマンドについて使い方をまとめます。
LinuxOSにおいて、最小OSインストールを実施した際、「whereis」コマンドは、デフォルトで使用できますが、「which」コマンドを使用することができません。

whichコマンドを使用する際は別途インストールします。

「which」コマンドのインストール

「which」コマンドをインストールするには以下コマンドを実行します。

$ dnf install which

「which」コマンドでプログラムのパスを表示

以下では「hostname」コマンドを実行する際にどこのパスにあるプログラムが実行されるのかを「which」コマンドで確認した例となります。

$ which hostname
/usr/bin/hostname

「whereis」コマンドでプログラムのパスと関連するファイルを表示

次に「whereis」コマンドを実施し、「hostname」コマンドがどのファイルに関連するかを確認した例となります。

$ whereis hostname
hostname: /usr/bin/hostname /etc/hostname /usr/libexec/hostname /usr/share/man/man7/hostname.7.gz

「wereis」コマンドの出力結果の見方

上記、「hostname」コマンドのプログラム・設定ファイルは、「/usr/bin/hostname」、「/etc/hostname」、「/usr/libexec/hostname」にあり、コマンドのオンラインマニュアルは「/usr/share/man/man7/hostname.7.gz」にあることがわかります。

さらに、whereisコマンドは引数を使用するコチにより、指定したプログラムのパスを表示することができます。

プログラム・設定ファイルのパス表示

$ whereis -b hostname
hostname: /usr/bin/hostname /etc/hostname /usr/libexec/hostname

オンラインマニュアルのパス表示

$ whereis -m hostname
hostname: /usr/share/man/man7/hostname.7.gz

ソースファイルディレクトリのパス表示

$ whereis -s hostname
hostname:

「which」コマンドオプション

whichコマンドのオプションは以下の通りとなります。

$ which --help
Usage: which [options] [--] COMMAND [...]
Write the full path of COMMAND(s) to standard output.

  --version, -[vV] Print version and exit successfully.
  --help,          Print this help and exit successfully.
  --skip-dot       Skip directories in PATH that start with a dot.
  --skip-tilde     Skip directories in PATH that start with a tilde.
  --show-dot       Don't expand a dot to current directory in output.
  --show-tilde     Output a tilde for HOME directory for non-root.
  --tty-only       Stop processing options on the right if not on tty.
  --all, -a        Print all matches in PATH, not just the first
  --read-alias, -i Read list of aliases from stdin.
  --skip-alias     Ignore option --read-alias; don't read stdin.
  --read-functions Read shell functions from stdin.
  --skip-functions Ignore option --read-functions; don't read stdin.

Recommended use is to write the output of (alias; declare -f) to standard
input, so that which can show aliases and shell functions. See which(1) for
examples.

If the options --read-alias and/or --read-functions are specified then the
output can be a full alias or function definition, optionally followed by
the full path of each command used inside of those.

Report bugs to <which-bugs@gnu.org>.

「whereis」コマンドオプション

whereisコマンドのオプションは以下の通りとなります。

$ whereis --help
Usage:
 whereis [options] [-BMS <dir>... -f] <name>

Locate the binary, source, and manual-page files for a command.

Options:
 -b         search only for binaries
 -B <dirs>  define binaries lookup path
 -m         search only for manuals and infos
 -M <dirs>  define man and info lookup path
 -s         search only for sources
 -S <dirs>  define sources lookup path
 -f         terminate <dirs> argument list
 -u         search for unusual entries
 -l         output effective lookup paths

 -h, --help     display this help
 -V, --version  display version

For more details see whereis(1).

「which,whereis」コマンドの使い方は以上となります。

エンジニアのオンライン学習

エンジニアにおすすめのオンライン教材比較
ITエンジニアが自宅で学習ができるオンラインスクール比較

エンジニアのおすすめ学習「Progate」と「Udemy」比較

VPS_比較
最新情報をチェックしよう!