- コマンドが使えない時は何をしたらいいの?
- PATHを通すとは?
- そもそもPATHとは?
本記事ではこのような疑問を解決します。
プログラミングをある程度勉強した方であれば「PATHを通す」という言葉を聞いたことがあるのではないでしょうか。
「PATHを通す」ことは意図したプログラムを実行したい時に欠かせない作業になります。
今回は「PATHを通す」について解説していきます。
そもそもPATHとは?
PATHとはコマンド検索パスを格納した環境変数のことです。
と言ってもさっぱりわからないですよね。
まずはここで出てきた「環境変数」「コマンド検索パス」について説明します。
環境変数とはコンピューター(OS)の中で使える変数のことです。
プログラミングをある程度学習された方であれば、変数についてはご存知かと思います。
例えば環境変数の中に「USER=“kosuke”」とあれば、このパソコンのユーザー名はkosukeなんだな、とわかります。
これと同じように、環境変数の中に変数名としてあるのがPATHです。
ちなみに、「export -p」とコマンド入力することで環境変数一覧を確認できます。
そして、このPATHにはどんな値が格納されているかというと、コマンド検索パスという値が格納されています。
コマンド検索パスとはコマンドの実行ファイルを探しにいくパスのことです。
例えばディレクトリ内のフォルダやファイルを確認できるlsコマンドが/bin/lsとして格納されていたとします。
プログラムは本来フルパスを指定しなければ実行できないため、lsコマンドを実行したい場合、毎回「$ /bin/ls」とコマンド入力する必要があります。
しかし、「$ ls」とだけ入力しても/bin/lsのファイルが実行されるのは、PATHに格納されたコマンド検索パスによって自動で実行ファイルを探しにいってくれるからです。
ここまでをまとめると、PATHとは、パソコン上で使える変数(環境変数)の一種で、コマンドの実行ファイルを探しにいくパス(コマンド検索パス)を格納したもの、ということです。
PATHを通すとは?
PATHの説明が終わったのでようやく「PATHを通す」について説明します。
PATHを通すとはPATHという環境変数に値を追加するということです。
もっと言うと、環境変数(PATH)の記述を変えて、コマンド検索パスを追加することです。
あるべきコマンド検索パスが追加されていない場合、
入力したコマンドが実行されないor同名の違うプログラムが実行されてしまうといった問題が発生します。
それでは次から実際のコマンドを入力して、PATHを通すための一連の流れを確認していきましょう。
PATHを通す手順
①PATHを確認する
まずはコマンド検索PATHを確認しましょう。
$ echo $PATH
/home/user/.local/bin:/home/user/bin:/home/user/.local/bin:/home/user/bin:/usr/local/bin:/home/user/.rvm/bin:/home/user/.local/bin:/home/user/bin
パスは”:”で区切られているため、わかりやすく表示すると以下の通りです。
/home/user/.local/bin
:/home/user/bin
:/home/user/.local/bin
:/home/user/bin
:/usr/local/bin
:/home/user/.rvm/bin
:/home/user/.local/bin
:/home/user/bin
そして、実行ファイルは上から優先的に検索が行われます。
②コマンド検索パスを追加する
exportコマンドを使ってコマンド検索パスを追加します。
$ export PATH=$PATH:追加したいコマンド検索パス
まとめ
以上が「PATHを通すとは?」についてです。
PATHを通すとは、環境変数(PATH)の記述を変えて、コマンド検索パスを追加するということがわかりました。
コマンド検索パスを追加することによって使いたいコマンドを実行できるようになります。