Tóm lược
Bạn đã đúng, Git Bash cho Windows không chỉ bash
được biên dịch cho Windows. Đó là gói chứa bash
(mà là một tiện ích dòng lệnh ) và một bộ sưu tập khác, tiện ích riêng biệt * nix như ssh
, scp
, cat
, find
và những người khác (mà bạn chạy bằng cách sử dụng vỏ), biên soạn dành cho Windows, và một giao diện dòng lệnh terminal mới cửa sổ gọi mintty
.
Tóm lại
Trên Windows, bạn có thể chạy các lệnh như ipconfig /all
hoặc format G:
sử dụng cmd.exe
. Các lệnh này là các tệp thực thi thực tế bên dưới C:\Windows\system32
, được lưu trữ dưới dạng ipconfig.exe
và format.com
tệp. cmd.exe
tách biệt với cả hai và tải và chạy chúng theo yêu cầu của người dùng.
ssh
, scp
, cat
, find
Đang chạy sử dụng bash
chính xác cùng một cách. Chúng thường được lưu trữ bên dưới /usr/bin
chứ không phải trong C:\Windows\system32
các hệ thống * nix, vì Windows và * nix có cấu trúc tệp hệ thống của chúng được tổ chức khác nhau.
Trong trường hợp Git Bash cho Windows, các chương trình này được đặt trong thư mục cài đặt Git : C:\Program Files\Git\usr\bin
, cũng có thể được tìm thấy trong môi trường Linux giả lập bên dưới /usr/bin
.
Giống như việc chỉ có thể chạy cmd.exe
trên * nix không cho phép bạn làm được nhiều việc mà không cần các tiện ích hệ thống khác, chỉ có thể chạy Bash trên Windows cũng không hữu ích lắm. Điều này có nghĩa là tất cả các lệnh bổ sung này phải được gói cùng với Bash để tạo ra gói phần mềm có thể sử dụng được.
Chi tiết: Ứng dụng POSIX trên Windows
Thông thường, các lệnh bổ sung đó sẽ được tìm thấy trên các hệ thống * nix chứ không phải trên Windows, vì chúng đã được lập trình dựa trên API lập trình POSIX (đó là những gì * nix sử dụng), chứ không phải API Win32 (là những gì Windows sử dụng). Tài liệu API POSIX có sẵn công khai, vì vậy một số người đã chuyển nó sang các hệ thống khác, bao gồm cả Windows. Windows triển khai các API / thư viện POSIX được cung cấp bởi Cygwin
và MSYS
.
Điều này tương tự như những gì mà dự án Wine làm, nhưng nó chuyển đổi POSIX-> Windows chứ không phải Windows-> POSIX như Wine.
bạc hà
mintty
được bao gồm bởi vì cmd.exe
, cửa sổ dòng lệnh mặc định của Windows, thiếu một số tính năng quan trọng thường có trên hầu hết các hệ thống * nix. Trong hầu hết các trường hợp, mintty
là lựa chọn tốt hơn để chạy các lệnh (chắc chắn cho các tiện ích đi kèm với gói Git Bash cho Windows), nhưng đôi khi một ứng dụng hệ thống Windows có thể hoạt động tốt hơn cmd.exe
.