パスを通す・パスに追加するとは何か?
Path(パス)とは通り道という意味で、その道をたどって通じるというような意味をもっています。
Linuxやコンピュータの世界でいうパスとは、コマンドサーチパス(命令を検索する道筋)の略になり、ソフトウェアを新しくインストールしたり、コマンドを追加して機能を拡張したりした場合に、どこからでもそのソフトウェアやコマンドを起動できるようにするための道筋を作るという作業になります。
例えばLinuxのコマンドでtopというものがあります。これは現在のコンピュータがメモリをどれくらい使用していて、CPUの処理能力がどれくらいかなどを表します。topコマンドは以下のように入力すれば起動します。
$ top
ところが、もしこのパスが通っていない場合は以下のように入力しなければなりません。
$ /usr/bin/top
これは、ルートディレクトリ(一番トップの階層)の中にある「usr」というディレクトリの中の「bin」とういディレクトリの中にあるtopというアプリを動かしてくださいという意味になっています。
この/usr/bin というディレクトリにはコマンド類が沢山入っているため、パスが通っていない場合はコマンドを入力するたびに全部先頭に「/usr/bin」をつけなければなりません。
これは大変です。なので毎回これを入力しなくて済むように「/usr/bin」までの道筋を作っておくのです。
環境変数「PATH」を設定する
では、パスを通す(パスに追加する)ためにはどのようにすればよいかを具体的に操作しながら学んでみましょう。
Linuxには環境変数と呼ばれる、現在使って居るコンピュータの環境をいろいろ設定するための設定ファイルがあります。ここには様々な「変数」と呼ばれる設定情報が書かれています。例えば、「HOME」変数では自分のホームディレクトリがどこなのかが書かれていたり、「LANG」変数では使用する言語や文字コードなどが設定されています。
これと同様に「PATH」という変数が用意されていて、そこにコマンドやアプリが格納されている場所のパスが書かれています。
試しにprintenvコマンドで環境変数の一覧を見てみましょう。
$ printenv
と入力すると以下のようなリストが出てきます。
この一覧の中に
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
というPATHの設定があります。ここに示されたディレクトリの中にインストールされているソフトウェアやコマンドについては、どこからでもその名称だけで呼び出すことができます。
環境変数にPATHを追加、削除するには?
環境変数に何か環境を追加したい場合にはexportコマンドを使います。たとえば先ほどのPATH環境変数には自分のホームディレクトリが追加されていません。今回はラズベリーパイのRaspbianを使っているので、ホームディレクトリは/home/piですからこれを追加してみます。以下のコマンドを入力します。
$ export PATH=”$PATH:/home/pi”
PATHという環境変数に/home/piを追加しますという記述です。ダブルクォーテーション「”」で囲った中の文字に書き換えるという内容で、「$PATH」は現在書かれている変数を意味していて「:」は区切りだと思ってください。この記述だと、今までのを残したまま追加するという形になります。
気をつけてもらいたいのが、以下のようにしてしまうと、今までのが/home/piに置き換わってしまい、コマンドのほとんどが使えなくなってしまいます。
$ export PATH=”/home/pi” (これはダメな例!)
もし間違えてこれをやってしまった場合は、再度全てのパスを通すために以下のように全部書きましょう。
$ export PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games”
他の変数も同様に変更が可能です。