PATHってなぁに?
今日のお題は
パソコンに疎い私はPATH
というものについてふわっとしか分かっていなかったのでこれを機に調べてみることにしました。
Linuxに関しては実際に触って練習ができるサイトenvaderを重宝してるので調べながらそれを触りつつ進めて行きたいと思います(’∀’人)♥+
ついでに簡単な自己紹介
私は何者か
プロフィール
ITの勉強を始めて1年弱。
オーストラリア在住。現在General AssemblyのSEIコース受講中。
2022年9月ごろから転職活動予定。
趣味はピアノ。
ゆえに特技はキーボードを打つ時に指を異常な角度で打てること(え)
今回お世話になるコースはこちら
PATHとは
PATHって何ぞ? 結論
ファイルやディレクトリまでの道筋を示す文字列のこと。
OSさんがとあるプログラムまでたどり着けるようにするってことかなーという認識(間違ってたら訂正お願いします)
PATHを通す?
プログラムは本来なら「フルパス」を指定しないと実行できない。
例) Windowsでメモ帳を開きたい
メモ帳の実行ファイルのフルパスであるC:\Windows\System32\notepad.exe
を実行してくれとOSに頼む。
↓
Windowsさん「C: ドライブ、の中にある Windows フォルダ、の中にある System32 フォルダ、の中にある notepad.exe というファイル
を探しに行きまーす」
でも毎回C:\Windows\System32\notepad.exe
って打つのめんどくさい。。。
そこでファイル名だけで実行できるようにPATHを通す! というわけですね。ふむふむ(`·⊝·´)
PATHの仕組み
PATH = 「フォルダのフルパス」の集まり(を格納した設定)
LinuxでのPATH一覧の検索方法 = echo $PATH
するとこんな感じの結果が返ってくる ↓
$ echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games
PATHは環境変数
に登録されているので$
をつけて出力することで見れるんだなぁ。なるほどY(·∀·)Y
しかしこの出力結果ただの呪文すぎて怖。。。(´ฅωฅ`)‧º·˚.
そしてその中身はフルパスの集合体なわけですが、その区切りは:
なので上のecho $PATH
の結果だと
- /sbin
- /usr/sbin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/local/games
と分解することができるわけですね。
怖さが軽減された!!笑 ( ˆoˆ )/
これのおかげで、何かファイル名を入れた時にOSさんはPATHを一個ずつ当てはめてそのファイルが存在するところまで行き実際に実行するんですね〜。なるほど。。。
PATHの通し方
実行したいファイルまでのパスが存在しない時、自分でパスを追加することもできる模様。
やり方はexport PATH=$PATH:/home/sample
(これで/home/sample
上に存在するシェルスクリプト(実行ファイル内の文章)までOSさんがたどり着けるようになる!)
echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin
ここにさっきのexport PATH=$PATH:/home/sample
を通してみると
$ echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/home/sample
こうなるわけですね。めでたしめでたし ‹‹(´ω` )/››
whichコマンド
which
コマンド = 実行ファイルのパスを調べる
例) ls
コマンドの実行ファイルがどこにあるかを知りたい
$ which ls
/bin/ls (ここのディレクトリにあるよ〜)
以上、PATHについてでした(´︶`)♡
お世話になったLinux環境構築サイトのコース一覧
Linux基礎コースは無料でできる模様ᕙ( ˙-˙ )ᕗアリガテェ
Discussion