LoginSignup
4
2

More than 3 years have passed since last update.

環境構築難しすぎる…。コマンドとPATHのお話をちょっと勉強した備忘録

Posted at

はじめに

今日、新しい言語を始めようと思ってターミナルをたくさんいじったんですよ。当然コマンドとかよく分からないので色々調べて、調べた通りにやったんですけど、”PATHを通す”という作業がどうも理解できず…。

「PATHってなんぞや?ファイターパスか?」

みたいな感じでしたので、いろんな人に教えてもらったものとか調べたものから、理解できた範囲内でまとめてみようと思います!

環境

  • MacOS Mojave

PATHとはなんぞや①

まずは愚直にGoogle先生に聞きました。

PATH とは [検索]
そしたらこんな感じの記事がたくさん出てきました!

色々なサイトでお勉強してみたのですが、つまりPATHというのは、
コマンドを実行するプログラムが保存されているディレクトリの場所を設定する環境変数
だ、そうです。
うーんよく分からない…。

ところで、そういえばコマンドってなんですか?

と、思った。
色々調べていくと、
コマンドは実行ファイルのことだとわかりました。
コマンドには、全てそれぞれに対応する実行ファイルが存在するのです。
実際にwhichコマンドを使って、コマンドのありかを調べてみると…。

$ which pwd
/bin/pwd

ありましたー!どうやら/binというディレクトリに入ってるっぽいので早速lsで見てみましょう!

$ ls /bin
[       echo       ls       sleep
bash    ed         mkdir    stty
cat     expr       mv       sync
chmod   hostname   pax      tcsh
cp      kill       ps       test
csh     ksh        pwd      unlink
date    launchctl  rm       wait4path
dd      link       rmdir    zsh
df      ln         sh

おお〜。よくお世話になるコマンドがたくさん…!
これらすべてが実行ファイルでありコマンドであるということですね。

PATHとはなんぞや②

コマンドの正体を暴いたところで、もう一度PATHについて考えてみます。

ターミナルではいっつもコマンド名(実行ファイル名)のみを打ち込むだけで実行してくれますよね。
でも本来は、ファイル名だけではなくフルパスを入力する必要があるらしいのです。フルパスというのは、ドライブ名から始めてすべてのディレクトリ名を指定して入力することです。
つまり、

$ pwd

としたい場合は、

$ /usr/local/bin/pwd

と書く必要があるということです。

「ええーめんどくさい。」

分かります。ということでそれを楽にしてくれてるのが環境変数PATHなんです。
さっき、PATHというのは、

コマンドを実行するプログラムが保存されているディレクトリの場所を設定する環境変数

と書きました。コマンドの正体を知っているのでさっきよりは理解できるのではないでしょうか…!
長ったらしくフルパスを書かなくて済むように、どこかにコマンドの居場所を書いておいているのです。
そして、そのどこかというのが環境変数PATHということです。

さっきから出てきている環境変数というのは、コンピューターちゃんの覚え書き🌟みたいなもんです。
ここの情報はすべてのアプリケーションから参照できるようになってます。
環境変数は、ターミナルでprintenvと話しかけるとコンピューターちゃんが見せてくれます。
実際見て守ると分かりますが、ユーザー名とかホームディレクトリとかが書いてあります。もちろんその中にPATHもあります。
つまり、
コンピューターちゃん「よく使う情報を環境変数としてまとめて書いておけばいつでもどこでも誰でも必要な情報をとってこれるようにしておいたよ🌟」
ってことですね。四次元ポケットみたい。(??)

力尽きたのでここでおしまいです

PATH、なんとなく理解できてよかったです。
事の発端はJuliaをインストールしてパスを通したつもりが、何回やり直してもどうやってもcommand not foundから抜け出せず……という事件でした。
「生半可な理解ではダメだ…」と思い勉強するに至ったのです。

そして、たった今さっき、やっとPATHが通ったんです!!よかった…
なぜダメだったのか、使いうちに研究してまとめて置こうと思います。

最後まで読んでくださりありがとうございました(><)

4
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2