Windows cmd.exe
nie obsługuje ls
, mount
itp, chyba że zainstalowano te siebie i dodaje je do %PATH%
(za pośrednictwem Cygwin, MinGW, Podsystem aplikacji systemu UNIX (SUA) lub coś innego). Powershell ma. A to dlatego, że Powershell ma je jako aliasy standardowych poleceń Powershell, dzięki czemu użytkownicy Uniksa mogą być bardziej komfortowi. Zobacz listę aliasów zgodności w programie Powershell . Okna ma rmdir
, mkdir
itp , ale te, oczywiście, nie obsługują funkcji takiej samej składni, którą można znaleźć na Ubuntu.
W Ubuntu nie mają one nic wspólnego z Bash. Wszystkie są poleceniami zewnętrznymi. Istnieją standardy dla takich narzędzi. Najbardziej zauważalny jest POSIX (patrz lista narzędzi z mandatem POSIX ), a Linux Standard Base (LSB) to kolejna ważna dla systemów Linux (która jest oparta głównie na POSIX, ale ma pewne dodatki ). Te w Ubuntu są w większości dostarczane przez GNU , a narzędzia GNU często mają więcej funkcji niż podstawa wymagana przez POSIX.
POSIX definiuje również język powłoki , o którym wspomniałeś (który zasadniczo różni się od tego w języku cmd.exe
). Wywodzi się ze składni powłoki Bourne'a . Bash (teraz już wiesz, do czego ponownie odnosi się Bourne ), również z GNU, dodaje także dodatkowe funkcje, ale może zachowywać się w sposób zgodny z POSIX, gdy jest to wymagane. Język POSIX jest tym, czego można się spodziewać sh
. bash
, ksh
, ash
, dash
, zsh
Wszystko użycie że język, z akcesoriami. csh
jest w swoim własnym (koszmarnym) świecie i tcsh
ulepsza csh
.
Aby zrozumieć nieco więcej, zajrzyj do historii systemów uniksowych i podobnych . Unix wcześniejszy niż Windows od ponad dekady, a te narzędzia pojawiły się po raz pierwszy w Uniksie.
Windows był kiedyś zgodny z POSIX, ponieważ rząd Stanów Zjednoczonych wymagał tego dla systemów operacyjnych używanych przez agencje rządowe (wtedy dodali Usługi dla Uniksa (SFU) , z których pochodzi SUA wspomniany w pierwszym akapicie). Ale wymóg ten został zniesiony, a następnie SUA zostało odrzucone.
Związane z:
(Zwróć uwagę na wspólną część tych postów - wszystkie są w systemach Unix i Linux oraz z tagowaną historią - przeglądanie tego tagu może być bardzo pouczające).