Der Windows cmd.exe
nicht unterstützt ls
, mount
usw., es sei denn , Sie diese selbst installiert und fügten sie zu dem %PATH%
(via Cygwin, MinGW, Subsystem für UNIX-basierte Anwendungen (SUA) oder etwas anderes). Powershell macht. Und das liegt daran, dass Powershell diese Befehle als Aliase zu Standard-Powershell-Befehlen verwendet, damit sich Unix-Benutzer wohler fühlen können. Sehen Sie sich die Liste der Kompatibilitäts-Aliase in Powershell an . Windows hat rmdir
, mkdir
usw. , aber diese, natürlich, unterstützen nicht die gleiche Option Syntax , dass Sie auf Ubuntu finden würde.
In Ubuntu haben diese nichts mit Bash zu tun. Sie sind alle externe Befehle. Es gibt Standards für solche Dienstprogramme. POSIX ist am bemerkenswertesten (siehe die Liste der von POSIX beauftragten Dienstprogramme ), und Linux Standard Base (LSB) ist ein weiteres wichtiges Element für Linux-Systeme (das hauptsächlich auf POSIX basiert, jedoch einige Ergänzungen enthält ). Diejenigen unter Ubuntu werden meistens von GNU bereitgestellt , und GNU-Dienstprogramme haben oft mehr Funktionen als die Basis, die von POSIX benötigt wird.
POSIX definiert auch die von Ihnen erwähnte Shell-Sprache (die sich wesentlich von der in unterscheidet cmd.exe
). Es leitet sich aus der Syntax der Bourne-Shell ab . Bash (jetzt wissen Sie, worauf sich der Bourne bezieht), ebenfalls von GNU, fügt ebenfalls Funktionen hinzu, kann sich aber bei Bedarf POSIX-konform verhalten. Die POSIX-Sprache ist genau das, was Sie erwarten sh
. bash
, ksh
, ash
, dash
, zsh
Alle verwenden die Sprache, mit Verbesserungen. csh
ist in einer (Albtraum-) Welt für sich und tcsh
wertet auf csh
.
Um etwas mehr zu verstehen, werfen Sie einen Blick in die Geschichte von Unix und Unix-ähnlichen Systemen. Unix ist mehr als ein Jahrzehnt älter als Windows, und diese Dienstprogramme wurden erstmals unter Unix eingesetzt.
Windows war zu einer Zeit POSIX-konform, da es von der US-Regierung für Betriebssysteme vorgeschrieben wurde, die von Regierungsbehörden verwendet wurden (zu diesem Zeitpunkt fügten sie die Dienste für Unix (SFU) hinzu , von denen die im ersten Absatz erwähnte SUA stammte). Diese Anforderung wurde jedoch gestrichen, und anschließend wurde die SUA eingestellt.
Verbunden:
(Beachten Sie den gemeinsamen Teil dieser Beiträge - sie alle auf sind Unix & Linux und getaggten Geschichte -. Sie durch diesen Tag gerade finden könnte sehr informativ)