【Linux】PATHとは?パスを通す方法と環境変数の確認・設定を解説【コマンド入門 Part4-3】

はじめに

Linuxを使っていると、ネット上の手順書などで「PATH(パス)を通してください」という言葉をよく目にしませんか? あるいは、新しくダウンロードした便利なツールを使おうとしたら、「コマンドが見つかりません (command not found)」と怒られた経験があるかもしれません。

今回は、Linux初心者にとって最初の壁とも言える「PATH」の正体と、その設定方法を解説します。

これを理解しておくと、将来あなたが自分で作った「自動化プログラム(シェルスクリプト)」を、本物のLinuxコマンドのようにどこからでも呼び出せるようになりますよ!

Linuxコマンド入門第4シリーズ。Linux環境変数PATHについてわかりやすく解説する記事のサムネ

1. そもそも「PATH(パス)」とは何か?

結論から言うと、PATHとは「Linuxがコマンドを探しに行くための『住所録』」です。

今まで当たり前のように使ってきた lscdcat といったコマンド。これらは魔法の言葉ではなく、実はLinuxの中にあるただの実行ファイル(プログラム)です。

本当なら、ls を実行するためにはファイルのフルネーム(絶対パス)である /usr/bin/ls と入力しなければなりません。しかし、毎回そんなことを打つのは面倒ですよね。

そこでLinuxには、「コマンドが入力されたら、とりあえずこの住所(フォルダ)の中を探してみて!」というルールが設定されています。この「探すべき住所のリスト」こそが、PATH(環境変数)です。

「PATHを通す」というのは、「Linuxの住所録に、新しいフォルダの場所を書き足すこと」を意味します。


2. 現在のPATHを確認してみよう

自分のLinuxが、現在どこの住所を登録しているのか確認してみましょう。 ターミナルに以下のように打ち込みます。

echo $PATH
# 長くて見づらいときは 以下のコードで改行して表示できます。
echo $PATH | tr ':' '\n'

$PATH は大文字で入力してください。

【出力例】

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

一見すると暗号のようですが、よく見ると :(コロン) で区切られているのが分かります。 つまり、このLinuxはコマンドを打ち込まれた時、以下の順番でフォルダの中を探しに行きます。

  1. /usr/local/bin を探す(あれば実行!)
  2. なければ /usr/bin を探す(あれば実行!)
  3. なければ /bin を探す……(以下略)

最後まで探して見つからなかった時に初めて、「command not found(そんなコマンドないよ)」というエラーを出す仕組みです。


3. 実際に「PATHを通す」方法

それでは、あなた専用の「自作プログラム置き場」を作り、そこにPATHを通してみましょう。

ステップ1:自分用のフォルダを作る

まずは、ホームディレクトリに bin というフォルダを作ります(すでに存在する場合はスキップでOKです)。

cd ~; # ホームディレクトリに移動
mkdir bin

ステップ2:PATHを追加する(exportコマンド)

ここで使うのが export というコマンドです。

export PATH=$PATH:$HOME/bin

【解説】

  • export PATH= : これからPATHを新しく設定しますよ、という宣言。
  • $PATHこれまでの住所録。これを書き忘れると、既存の ls などが全て使えなくなるので超重要です!
  • : : 区切り文字。
  • $HOME/bin : 先ほど作った新しいフォルダ($HOME = ~ と同じ意味です)。

つまり、「今までの住所録の最後に、新しく作った自分のフォルダを付け足してね」という指示になります。

ステップ3:確認する

もう一度 echo $PATH を実行してみてください。出力の最後に /home/あなたのユーザー名/bin が追加されていれば成功です!


4. 【重要】.bashrc で設定を「永続化」する

前回の記事を読んだ方ならお気づきかもしれませんが、ターミナル上で export コマンドを打っただけでは、ターミナルを閉じると設定が消えてしまいます。

毎回PATHを通すのは面倒なので、前回学んだ .bashrc(または .zshrc)にこの設定を記憶させましょう!

# エディタで開く
nano ~/.bashrc

.bashrcか.zshrcなのかの確認の仕方は前回紹介しました。

Linuxコマンド入門第4シリーズ。Linuxでターミナル設定の永続化の仕方 bashrcやzshrcの仕組みと書き方

【.bashrc / .zshrc】Linux設定ファイルの書き方と反映方法【Linuxコマンド入門 Part4-2】

Linuxで設定したaliasが消えてしまう?原因は設定の保存方法にあります。.bashrc / .zshrc の編集方法と source コマンドで設定を永続化する方法を初心者向けに解説。

ファイルの一番下に、先ほどのコマンドをそのまま追記します。

# --- 自分で追加した設定 ---
export PATH=$PATH:$HOME/bin

保存して閉じたら、最後に設定を反映させます。

source ~/.bashrc

これで、いつでもどこからでも、あなたの ~/bin フォルダに入れたプログラムが、名前を打つだけで実行できるようになりました!


まとめと今後の展望

  • 追加方法: export PATH=$PATH:/追加したいパス.bashrc に追記する。
  • 確認方法: echo $PATH (: で区切られている)。
  • PATHとは: コマンドの正体(ファイル)を探しに行くための「住所録」。

今後、「シェルスクリプト」という自動化プログラムを自作するシリーズを予定しています。 その時、今回作った ~/bin フォルダに自作スクリプトを入れておけば、他の標準コマンドと同じように、どこにいても一瞬で呼び出せるようになります。楽しみにしていてくださいね!

次回は、ディレクトリの移動(cd)をもっと便利にする、少し変わった「パンくずリスト」のようなコマンドを紹介します。

Linuxコマンド入門第4シリーズ。スタック形式でディレクトリ移動できるpushd,popdコマンドについて紹介

cdコマンドより便利?元のディレクトリに一瞬で戻る移動術(pushd/popd)【Linuxコマンド入門 Part4-4】

深いディレクトリを行ったり来たりしていませんか?Linuxの「pushd」と「popd」を使えば、元の作業場所へ一瞬で戻れるようになります。「cd」コマンドの限界を超える、パンくずリストのようなスタック移動術を分かりやすく解説!


第四回”Linuxコマンド入門 Part4 ~自分好みの環境を整える~”では、linuxでの作業を効率化し自分好みの環境を作り上げる方法を紹介しています

デフォルト画像 4 記事
シリーズ

Linuxコマンド入門 Part4 ~ターミナル操作の効率化とシェル環境のカスタマイズ~

Linuxで、コマンドライン操作を効率化したり、自分好みにカスタマイズする方法を学ぼう。

ここまで読んでいただきありがとうございます。

では、次の記事で。 lumenHero