はじめに
こんにちはnayaaaaです。
今回はGitBashでusr/binディレクトリがどこにあるか迷ったので、忘備録として書きました。
Git Bashとは
Git BashはWindows向けのBashエミュレータです。オープンソースプロジェクトで無償で使うことができます。
Gitの実行環境のほか、Bashエミュレータとある通りLinuxコマンドを実行することができます。
WSLとは
「WSL(Windows Subsystem for Linux)」とは、Windows上で動作するLinuxの実行環境です。
WSLを利用することで手元のWindows OSをこれまで同様に使いながら、同じWindows上でLinuxを動作させることもできます。WSLでLinuxを使うにあたり、いちいちOSを再起動する必要はありません。あたかもWindowsにインストールされているソフトウェアの1つのように、Linux環境を利用できるのです。
ざっくりまとめると、GitBashは Gitの機能が搭載されていてWindows環境でBashコマンドを扱うことができるもの。
WSLはWindows環境でLinuxOSの動作を提供することができるというものらしいです。
なのでこれらの二つはWindowsでbashコマンドを使用することができるようになるという点では一緒なのですが、提供する機能は全く別物のようです。
迷ったところ
GitBashのusr/binディレクトリに実行ファイルを格納したかったのですが、VSCodeでusr/binディレクトリに移動後、実行ファイルを格納してコマンドを打ってみたところ、not found が発生しました。
原因
筆者の動作環境は、Gitをインストールした際に一緒に付属されていたGitBashで動作しており、GitBashの\usr\binディレクトリは、通常C:\Program Files\Git
に配置されているのですが、以前にWSLのインストールをしたこともあり、WSLのusr/binディレクトリとGitBash環境のusr/binディレクトリで、誤ってWSLのusr/binディレクトリに配置してしまっていました。
ちなみにWSLとGitBashでは以下のようにディレクトリが違いました。
- GitBash
C:\Program Files\Git\usr\bin
- WSL
\\wsl.localhost\Ubuntu\usr\bin
⇒Ubuntuを使用している場合
なんで間違えて格納しちゃってたんだ….
まとめ
-
GitBashやWSLはホストマシンのディレクトリ構造とは別にディレクトリ構造を持っている。
-
GitBashとWSLは機能がそもそも違う
GitBash→Bashを使用可能にする
WSL→Linux環境の提供
こういった細かいところは普段あまり気にしづらい箇所なのでよい勉強になりました。
■参考リンク