【実践Linux10】コマンドのパスについて パスの表示を行うwhichコマンドの使い方
linuxは様々なコマンドを用いて操作しますが、コマンドの実態もコードが書かれたプログラムです。つまりコードが書かれたファイルということですので、/binや/sbinといったプログラムを保存するためのディレクトリに配置されているということです。
通常、コマンドを実行するときにその実態であるプログラムがどこに配置されているかを気にする必要はありません。PATHという環境変数にコマンドのプログラムが配置されているディレクトリが設定されているからです。環境変数に設定されたディレクトリ配下にあるプログラムはわざわざパスを指定しなくても実行できるので、普段はコマンドのプログラムの場所を気にせず、コマンド名だけで実行できるのです。
コマンドのパスを表示したい場合はwhichコマンドを使います。whichコマンドはPATH環境変数に含まれているディレクトリ配下に配置されているコマンドのパスを表示することができます。
書式
which コマンド名
実習 whichコマンド
以下のコマンドを実行してcatコマンドのプログラムのパスを確認してみましょう。
$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/linuxtext/bin
(ユーザが参照できるパスを確認)
$ which cat
/bin/cat
(cat コマンドは/bin 配下に配置されているのがわかる)
上記ではcatというプログラムが/binディレクトリ配下に配置されていることが確認できました。
コマンドが存在するディレクトリがPATH環境変数に含まれていない場合は、whichコマンドはエラーを返します。たとえば管理者権限が必要なコマンドへのパスは基本的には一般ユーザでは設定されていないため、whichコマンドでは確認できません。
[itemlink post_id=”3491″]