今回はLinuxで使用している環境変数PATHについて説明しようと思います。
Linuxにて設定されている環境変数PATHはLinuxでよく使う「ls」や「cat」等のコマンドをコマンド名だけで実行するために必要は設定パラメータとなります。パラメータ内容としてはコマンドが格納してあるフォルダパスが記載されております。試しに環境変数PATHの設定値を確認するために下記コマンドを実行してみます。
[ユーザー名@localhost ~]$ echo $PATH
実行結果が下記になります。
/home/ユーザー名/.local/bin:/home/ユーザ名/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
このようなパラメータが環境変数PATHに格納されており、「:」毎にフォルダパスが区切られた内容になっております。
フォルダパス毎に見やすく改行すると、下記6つのフォルダパスが設定されていることがわかります。
/home/ユーザー名/.local/bin
/home/ユーザー名/bin
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
この設定により、シェルはユーザーがコンソールに打ち込んだ文言が上記6つのフォルダ内のコマンド名と一致するかを自動で探してくれます。
もし、打ち込んだ文言が環境変数PATHに設定されているフォルダ内のコマンド名と一致しなかった場合は、コマンドが無いものと認識します。
例えば「lst」というコマンド名に一致しない文言をコンソールに打ち込んでみると下記メッセージが表示されます。上記6つのフォルダ内にあるコマンド名と一致すると、コマンドが格納されてあるフォルダ内のコマンドプログラムが実行されます。
例えばlsであれば大抵の場合「/usr/bin/ls」に、catであれば「/usr/bin/cat」に各コマンドプログラムファイルが格納されています。
Linuxを使う上でほぼ必ず使うことになる「bash」シェルのプログラムも「/usr/bin/bash」というフォルダに格納されています。
もし、上記6つのフォルダ以外に使いたいコマンドプログラムがあった場合、コマンドを実行する方法は下記2つになります。
①環境変数PATHにフォルダパスを追加すること。
②コマンドプログラムフォルダのフルパスをコンソールに打ち込むこと。
①については下記のようなコマンドで環境変数PATHにフォルダパスを追加することができます。
[ユーザー名@localhost ~]$ export PATH="$PATH:追加したいフォルダパス"
環境変数PATHについては上記のコマンドにて自由にパラメータ変更が可能ですが、間違っても既存のフォルダパスを消さないように十分注意する必要があります。
今回はLinuxで重要な役割を果たしている環境変数PATHについて説明させていただきました。
参考URL