🦔

ハンズオンで「パスを通す」を理解する

2022/10/30に公開

コマンドを実行できる仕組み

普段開発をしていると「パスを通す」という言葉を聞いたことがあると思います。
パスを通すについてちゃんと理解していますか?
まずはパスを通すについて、そもそもなぜコマンドで色々な操作を実行できるのかの仕組みについて理解していきましょう。
例として、htopコマンドについてみていきます。
htopコマンドは現在の CPU とメモリの仕様状況について監視するためのコマンドです。

htop コマンドはどこから実行されているのか?

ここではwhichコマンドを使用して、htopがどこから実行されているのかを確認してみます。
自分のパソコンで実行した結果が以下です(*whichコマンドの実行結果はインストール方法によって変わるので一致しない場合があります。)

$ which htop
/usr/bin/htop

コマンドと、実行結果が何を表しているのかを解説します。
whichコマンドとは「指定されたコマンドの絶対パスを表示するコマンド」です。
言い方を変えるとそのコマンドを実行するためのファイルがどこに存在するかを確認することのできるコマンドです。
今回の例でいうと/usr/bin/htophtopコマンドを実行した時に使用するファイルです。
/usr/bin/htopが本当にファイルを表示しているのかを確認するためにcat /usr/bin/htopでファイルの中身を確認してみてください。
するととても読めるはずのないファイルを確認することができたと思います。
つまり、htopコマンドは/usr/bin/htopファイルの内容を実行しているコマンドだったのです。
そうと分かると次は「なんでhtopというコマンドは/usr/bin/htopというファイルを実行するのだろうか?」と疑問に思うのではないかと思います。
そこで初めて「パスを通す」というキーワードが出てきます。

パスを通すとは?

まずは自分のパソコンに通っているパスを確認してみましょう

echo $PATH | sed -e 's/:/\n/g'

上記のコマンドを実行すると自分のパソコンに通っているパス一覧を確認することが出来ると思います。
このコマンドを実行したときに勘がいい人なら「さっきみた/usr/bin が含まれている」と気づいたかもしれません。
つまり、パスを通すとは 「パスにあるファイルを実行するときにいちいちファイルのパスをコマンドに入力するのではなく、実行したいファイル名だけをコマンドに入力するだけでそのファイルが実行される状態のこと」 をいうのです。

GitHubで編集を提案

Discussion