Linux基礎初心者が詰まりがちなPATHを通すについて

いろいろなところで詰まりがちなねこだくさんです。
このPATHを通すという作業、環境構築する際に言われるがままに意味もわからずやっていました。

なるほど(わからん)からチョットワカルになる程度まで勉強してみたいと思います。

おやくそく
コマンド行の頭についている$はプロンプトを表しているだけなのでまるごとコピペするとエラーになります。

$ echo $PATH
↓
echo $PATH

※環境変数の頭の$は削っちゃダメ

まずPATHって何

本来なら/bin/lsのように長いパス(長くないけど)をフルパスといますが、これをいちいち打っていたのではめんどくさいです。
lsと打つだけでコマンド発行するために「コマンドサーチパス」を設定することをパスを通すといいます。

全然意味わかりませんね。実際に仮想環境Envaderを利用してやってみます。

PATHの確認

まず$PATHってのは環境変数です。

環境変数って何?

OSが動いているときに使える変数のこと。
OS上の様々なプログラムやコマンドから使用することができます。

※プログラムの中で環境変数を変更した場合はそのプログラムを実行しているときのみ影響します。

続きです。
echoコマンドで$PATHを指定すると指定されているPATHが表示されます。

$ echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games

それぞれのPATHは:で区切られていることがわかります。

whichコマンド

あれ?lsコマンドのフルパスってなんだっけ?というような場合、whichコマンドとコマンド名を指定することでそのコマンドのフルパスを表示します。
実行ファイルの場所を示しています。

$ which ls
/bin/ls

※オプションに-aをつけることでエイリアスを含む全てのパスを表示します。

いよいよPATHを通します

exportというコマンドを使用してPATHを通します。

export PATH=$PATH:/home/test
# echoコマンドで確認
echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/test

コード参考:PATHの使い方

末尾に'/home/test'が追加されました。
これでこのディレクトリにあるシェルスクリプトが認識されコマンドとして実行できるようになります。

exportコマンド自体は環境変数やシェル変数を設定するものです。

PATHを通すとは

  • 環境変数にコマンドを探すパスを設定することでコマンドを実行することができるようにすること。
  • コマンドのフルパスを調べるにはwhich

謎の儀式からそういう作業であるという認識にレベルアップしました。

猫たちはそのへんで転がっています。
が、今日のところは公園で撮った桜を上げときます。

参考資料

コース一覧 | エンベーダー
コース一覧に関するページです。Linuxを学べるLinux基礎・応用コースを始めとして、エンジニア必須の知識であるデータベースやセキュリティのコースもあります。
パスを通す - Linux技術者認定 LinuC | LPI-Japan
Linuxを学習する上で出てくる素朴な疑問や、便利なテクニックなどを紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に含まれる技術解説動画やサンプル問題、教科書ダウンロードなど、ITエンジニア向け学...
【Linux】PATHについて - Qiita
ターミナルのコマンドであるPATHについて記載していきます。#PATHとはコマンド検索パスを追加するコマンドです。コマンド検索パスとは、コマンドの実行ファイルを探しにいくようなパスのことです。$ ls/bin/ls…
Linux入門 ~「パスを通す」とは~ - Qiita
#概要ある程度プログラミングの経験のあるかたなら、「パスを通す」という作業をしたことあるのではないでしょうか?こんなコードexport PATH="$PATH:/opt/local/bin"今回は、パスを通すというのは一体なんなのか、なにをしているのか、というの…

コメント