Ubuntu ma bash (Bourne Again SHell), podczas gdy Windows ma swoją zastrzeżoną powłokę. Według moich badań nie ma nazwy języka używanego do skryptowania powłoki w Windows / Ubuntu. Nazywa się to po prostu skryptowaniem powłoki.
Dlaczego Powłoka systemu Windows i Ubuntu zrozumieć tych samych komend, takich jak: ls
, mkdir
, rmdir
, mount
i tak dalej?
Czy jest jakiś rodzaj lingua franca do skryptowania powłoki? Jeśli tak, proszę podać mi więcej szczegółów.
command-line
bash
windows
history-of-ubuntu
Shady Programmer
źródło
źródło
ls
jest obsługiwany przez Powershell, niecmd.exe
. A to dlatego, że twórcy Powershell starali się dodać aliasy dla popularnych poleceń Uniksa, aby użytkownicy Unix byli bardziej komfortowi. technet.microsoft.com/en-us/library/dd347739.aspxAction-Object
strukturą, złożoną z zestawu znormalizowanych akcji i obiektów. Na przykład oba sąls
idir
są aliasamiGet-ChildItem
(które dodatkowo mają aliasgci
),mkdir
imd
są w rzeczywistościNew-Item
(które mogą tworzyć znacznie więcej niż tylko katalogi, dzięki podejściu obiektowemu PowerShell) i tak dalej.Odpowiedzi:
Windows
cmd.exe
nie obsługujels
,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 marmdir
,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 itcsh
ulepszacsh
.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).
źródło
rmdir
(wraz zmkdir
icd / chdir
) sącommand.com
wbudowanymi natywnymi wersjami od MS-DOS 2.0 (wcześniej w systemie plików DOS nie było hierarchii)rd
też był skrótemmd
.sh
.bash
,ksh
,ash
,dash
,zsh
Wszystko użycie że język, z akcesoriami.csh
jest w swoim własnym (koszmarnym) świecie itcsh
ulepszacsh
. Windows kiedyś był zgodny z POSIX, ponieważ rząd Stanów Zjednoczonych wymagał tego dla systemów operacyjnych używanych przez agencje rządowe (stąd pochodzi SUA). Ale wymóg ten został zniesiony, a następnie SUA zostało odrzucone.Prosty:
Linux to system oparty na modelu UNIX, opracowanym przez Dennisa Ritchie i Kena Thompsona.
Windows / DOS to tani podróbka systemu o nazwie CP / M, który był popularny w latach 70-tych na starych komputerach podłączonych do telewizora, ten system z kolei był tanim podróbką wczesnych systemów UNIX od późnych lat 60. / wczesnych 70. .
źródło