Linuxコマンド which(コマンドのフルパスを表示する)
指定されたコマンドが環境変数PATHで指定されたディレクトリ内にあるか検索し、見つかった場合は絶対パスで表示するコマンドを解説。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:なし
使用方法
コマンドパス:/usr/bin/which
whichコマンドにパスを表示させたいコマンド名を引数として渡します。また、一般ユーザーで管理者用コマンドを検索する場合は、一般ユーザ用にパスが設定されている必要があります。
書式
$ which [オプション] コマンド
オプション
-a | 該当ディレクトリが複数ある場合は全部表示する |
オプション(RedHat系のみ)
–skip-dot | 「.」(ドット)で始まるファイル名は検索対象から外す |
–skip-alias | bash設定で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 ~]$