streszczenie
Masz rację, Git Bash dla Windows to nie tylko bash
kompilacja dla Windows. Jest to pakiet, który zawiera bash
(co jest powłoka wiersza polecenia ) oraz zbiór innych, oddzielnych * narzędzi uniksowych takich jak ssh
, scp
, cat
, find
i innych (które pracuje z wykorzystaniem powłoki), opracowanych dla systemu Windows, a nowy terminal interfejs wiersza poleceń okno o nazwie mintty
.
W skrócie
W systemie Windows możesz uruchamiać polecenia takie jak ipconfig /all
lub format G:
za pomocą cmd.exe
. Te polecenia są rzeczywistymi plikami wykonywalnymi w C:\Windows\system32
, przechowywanymi jako ipconfig.exe
i format.com
plikami. cmd.exe
jest oddzielny od i ładuje i uruchamia je na żądanie użytkownika.
ssh
, scp
, cat
, find
Są prowadzone przy użyciu bash
dokładnie w ten sam sposób. Zazwyczaj są one przechowywane /usr/bin
w C:\Windows\system32
systemach * nix, a nie w nich , ponieważ Windows i * nix mają inną strukturę plików systemowych.
W przypadku Git Bash dla Windows programy te znajdują się w folderze instalacyjnym Git:, C:\Program Files\Git\usr\bin
który można również znaleźć w emulowanym środowisku Linux pod /usr/bin
.
Podobnie jak możliwość uruchomienia cmd.exe
na * Nixie nie pozwala ci wiele zrobić bez innych narzędzi systemowych, tak samo możliwość uruchamiania Bash na Windowsie również nie jest bardzo przydatna. Oznacza to, że wszystkie te dodatkowe polecenia muszą być połączone z Bash, aby stworzyć użyteczny pakiet oprogramowania.
Szczegóły: aplikacje POSIX w systemie Windows
Zwykle te dodatkowe polecenia można znaleźć w systemach * nix, a nie w systemie Windows, ponieważ zostały one zaprogramowane w interfejsie API programowania POSIX (który jest używany przez * nix), a nie w interfejsach API Win32 (który używa Windows). Dokumentacja API POSIX jest jawnie dostępna, więc niektóre osoby przeniosły ją na inne systemy, w tym Windows. Implementacja interfejsów API / bibliotek POSIX w systemie Windows jest zapewniana przez Cygwin
i MSYS
.
Jest to trochę podobne do tego, co robi projekt Wine , ale konwertuje POSIX-> Windows zamiast Windows-> POSIX, podobnie jak Wine.
miętowy
mintty
jest dołączony, ponieważ cmd.exe
w domyślnym oknie wiersza poleceń systemu Windows brakuje niektórych ważnych funkcji, które normalnie są dostępne w większości systemów * nix. W większości przypadków mintty
jest lepszym wyborem do uruchamiania poleceń (z pewnością dla narzędzi dostarczanych z pakietem Git Bash dla Windows), ale czasami aplikacja systemowa Windows może działać lepiej cmd.exe
.