Baby steps to migratory bird

元半導体系エンジニア、今Webエンジニアの雑記

パスを通す ~WindowsとMac OS X / Linuxの違い~

昨日のLinux読書会でふと疑問に思ったので調べてみた。

元々は別の参加者の方が「パスを通すってどゆこと?」という質問をされていたんだけど、そういえばWindowsを使っていると毎度パスを通す作業があるのでMacと比べて面倒くさいな、とふと思ったのが発端。

普段Windowsでソフトインストールしたときに環境変数にパスを設定すると思う。 例えばGitだとこんな感じで細かくパス指定している↓

C:\Program Files\Git\cmd

でもMacとかでPath変数の中身を確認してみるとこんな感じで浅いところまでパス指定しておけばコマンドが走る。

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin #実行結果

詳細はこの記事を参考にしてもらうとして、 qiita.com

OSがやることとしては、

「コマンドが叩かれたときにPath変数に保存されているディレクトリ下から実行プログラムを探して実行する」

らしい。

結論としては、ソフトをダウンロードしてきたときに実行ファイルがまとめて一つのディレクトリに保存されるかどうかでお作法が違ってくる。

WindowsとMac/Linuxの違いというより、OSダウンロード時に走るプログラムの違いによるってことだと思う。って書こうとしたんだけど、結局OSのディレクトリ構成起因っぽい。。

WindowsはProgramfiles直下でソフトごとにフォルダが分かれてて、

Programfilesフォルダの中身

それぞれの中に実行ファイルがしまわれている

Git/cmdフォルダの中身

対してMacで確認してみると、例えば/ls/usr/binディレクトリには下記のように実行ファイルがまとめておいてある(わかりにくいですがほぼディレクトリでなくファイルです)。

/ls/usr/binディレクトリの中身

というわけで、Windowsめんどいねという話 OSのディレクトリ構成がこんなところにも影響あるんだねという話でした。

Linux読書会、次は3/24 (土) 開催予定らしいです! startup-technology.connpass.com