Linuxコマンド which(コマンドのフルパスを表示する)

指定されたコマンドが環境変数PATHで指定されたディレクトリ内にあるか検索し、見つかった場合は絶対パスで表示するコマンドを解説。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:なし

使用方法

コマンドパス:/usr/bin/which

whichコマンドにパスを表示させたいコマンド名を引数として渡します。また、一般ユーザーで管理者用コマンドを検索する場合は、一般ユーザ用にパスが設定されている必要があります。

書式

$ which [オプション] コマンド

オプション

-a該当ディレクトリが複数ある場合は全部表示する
オプション一覧表

オプション(RedHat系のみ)

–skip-dot「.」(ドット)で始まるファイル名は検索対象から外す
–skip-aliasbash設定でalias設定されているコマンドは表示しない
オプション一覧表

代用

ファイルが存在するか調べる場合は、locateコマンドで代用する方法もあります。

サンプル

$ which less

実行結果

[centos@xxx ~]$ which less
/usr/bin/less
[centos@xxx ~]$

指定したファイルがどのパッケージに入っているかを調べる(RPM)

指定したコマンドがどのパッケージに入っているか調べます。

サンプル

$ rpm -qf `which --skip-alias ls`

実行結果

[centos@xxx ~]$ rpm -qf `which --skip-alias ls`
coreutils-8.22-24.el7_9.2.x86_64
[centos@xxx ~]$ 

指定したファイルがどのパッケージに入っているかを調べる(deb)

指定したコマンドがどのパッケージに入っているか調べます。

サンプル

$ dpkg -S `which --skip-alias ls`

実行結果

[testuser@xxx ~]$ dpkg -S `which --skip-alias ls`
coreutils: /bin/ls
[testuser@xxx ~]$