コマンド検索パス
「ここを探すぜ」リストだよ
パスを指定しないでコマンド名だけ指定されたときにコマンドを探す場所が書いてあるよ
パスが登録されていないと、コマンド名だけで実行できないよ
簡単に書くよ
コマンド検索パス(読:コマンドケンサクパス 英:command search path?)とは
例えば「C:\Windows\System32\help.exe」ではなく「help」や「help.exe」のように、場所(パス)を指定しないでコマンド名(ファイル名)だけ指定すると、コンピュータさんは自分の持っている「ここを探すぜ」リストをもとにして、そのコマンド(ファイル)がどこにあるか探してくれるのね。そのときに使う「ここを探すぜ」リストのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・実行ファイル
・コマンド
・パス
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
実行ファイルは「プログラムなファイル」です。
べちべちっ!とダブルクリックすると、お仕事を始めます。
(Windowsの場合)拡張子は「.exe」であることが多いです。
コマンドは「コンピュータさんに対する命令(命令文)」です。
コマンドをポチポチ打ち込むと、その内容に従って、コンピュータさんは動いてくれます。
例外もありますが、コマンドの本体は実行ファイルです。
例えば、Windowsには「help」というコマンドがあります。
「help」コマンドの本体は「help.exe」というファイルです。
コマンドプロンプト(コンピュータに詳しい人が使う黒い画面)上で「help」と入力して実行すると「help.exe」が動きます。
パスは「ファイルやフォルダの場所(と名前)を示す情報」です。
パスは
C:\Windows\system32\
や
/usr/bin/perl
のような形で書きます。
Windows系では「\(円マーク、バックスラッシュ)」区切りで階層を表現します。
例えば
C:\Windows\system32\
は
「C:」ドライブの中にある「Windows」フォルダの中にある「system32」フォルダ
を表しています。
UNIX系(LinuxとかMacとか)では「/(スラッシュ)」区切りで階層を表現します。
例えば
/usr/bin/perl
は
「usr」フォルダの中にある「bin」フォルダの中にある「perl」という名前のファイル
の意味になります。
基本的な考え方は住所と同じです。
位置を示す情報です。
左に行くほど大きなくくりになります。
以上を踏まえて
パスを指定しないでコマンド名(ファイル名)だけ指定すると、コンピュータさんはそのコマンド(ファイル)がどこにあるか自分で探すんだけど、そのときに見る「ここを探すぜ」リスト
が「コマンド検索パス」です。
「コマンドサーチパス」と表現されることも あります。
例えば、そうですね。
「help」コマンドの本体ファイル「help.exe」のパスが
C:\Windows\System32\help.exe
だったとしましょう。
このパスは
「C:」ドライブの中にある「Windows」フォルダの中にある「System32」フォルダの中にある「help.exe」というファイル
を意味します。
パスを指定して
C:\Windows\System32\help.exe
や
C:\Windows\System32\help
のように入力して実行すると、特に問題なく「help」コマンド(=help.exe)が実行されます。
パスを指定しないで
help.exe
や
help
のように入力して実行すると「help」コマンドは実行されるかもしれませんし、されないかもしれません。
理由は、パスが指定されていないときは、コマンド検索パスを見て探し場所を決めるからです。
コマンド検索パスに「C:\Windows\System32\」が登録されていれば「help」コマンドは実行されます。
「C:\Windows\System32\help.exe」が見つかるからです。
コマンド検索パスに「C:\Windows\System32\」が登録されていなければ「help」コマンドは実行されません。
「C:\Windows\System32\」を探しに行かないので「C:\Windows\System32\help.exe」が見つからないからです。
あるはずのコマンドを実行しているのに「コマンドが見つからないよ!」みたいに怒られるときは、そのコマンドのパスがコマンド検索パスに登録されているか確認してみてください。
Windows系であれば、コマンドプロンプト上で
echo %PATH%
を実行することで確認できます。
UNIX系(Linuxとか)であれば
echo $PATH
で確認できるはずです。
一言でまとめるよ
まぁ「コマンド検索パス」って単語が出てきたら「『ここを探すぜ』リストなんだな~」と お考えください。
おまけ
■訳してみるよ
「command(コマンド)」の意味は「命令する」とか「指揮する」とかです。
「検索」は日本語ですね。
「path(パス)」の意味は「小道」とか「散歩道」とか「進路」とか「方針」とかです。
何となく くっつけると
命令を検索する小道
となります。
■検索してみる?






