Greifen Sie über cmd und Powershell in Windows auf Linux-Programme von Cygwin zu

Greifen Sie über cmd und Powershell in Windows auf Linux-Programme von Cygwin zu

Ich benutze Cygwin schon seit einiger Zeit. Wenn ich neue Pakete brauche, öffne ich das Setup und wähle die Versionen aus, die ich brauche. Das Setup erledigt den Rest. Mir ist aufgefallen, dass die Programme alle heruntergeladen werdenC:\cygwin64\bin

Im Bin-Ordner befinden sich viele ausführbare Dateien vom Typ .exe. Dazu gehören diff, find, grep, gzip, vi, vim, whatis, which, who, whoami und viele andere. Ich habe sie C:\cygwin64\binder Benutzervariable PATH hinzugefügt.

Jetzt kann ich auf alle oben genannten und weitere Programme zugreifen, die heruntergeladen und über Cygwin verwendet werden, auch über PowerShell und die Windows-Eingabeaufforderung. Ich bin verwirrt. Sollen all diese Programme nur in Cygwin oder in jedem Windows-Terminal ausgeführt werden? Wenn ich diese Programme ohne Cygwin-Bash-Terminal ausführen kann, welchen Sinn hat es dann, Cygwin überhaupt zu haben?

Antwort1

Cygwin ist eine Sammlung von Linux-Tools, die so kompiliert wurden, dass sie unter Windows als .exeausführbare Dateien funktionieren.

Dies ist einer Beschreibung:

Cygwin ist eine Sammlung von Open-Source-Tools, mit denen Unix- oder Linux-Anwendungen kompiliert und auf einem Microsoft Windows-Betriebssystem (OS) mit einer Linux-ähnlichen Oberfläche ausgeführt werden können. Cygwin bietet Benutzern ein Linux-ähnliches Erlebnis in einer Windows-Umgebung. Diese Funktion hilft Entwicklern bei der Migration von Anwendungen von Unix oder Linux auf Windows-basierte Systeme und erleichtert die Unterstützung ihrer auf der Windows-Plattform ausgeführten Anwendungen.

Das Herzstück der Cygwin-Toolsammlung ist die Dynamic Link Library (DLL) cygwin1.dll. Die DLL dient als Emulationsschicht, die die Systemaufruffunktionalität Portable OS Interface (POSIX) bereitstellt. Die Cygwin-Distribution verfügt außerdem über eine große Sammlung kostenloser Tools, darunter die meisten GNU- und viele Berkeley Software Distribution-Tools sowie einen X-Server und einen vollständigen Satz von X-Anwendungen.

Cygwin ist praktisch eine Schicht zwischen Linux-Ursprungscode und der Windows-API. Es bietet Bibliotheken, die modifizierte Linux-Bibliotheken sind, um Windows-Aufrufe zu verwenden, und präsentiert dabei die bekannte Linux-Syntax. Es verfügt über eine Laufzeitschicht, die von implementiert wird. cygwin1.dllDabei handelt es sich um die Laufzeit, die die Übersetzung in die Windows-API vornimmt.

Um eine einheitliche Linux-Umgebung zu emulieren, erstellt diese DLL ein gemeinsam genutztes Speichersegment, das von allen ihren Tools und ihren eigenen Kopien verwendet wird cygwin1.dll.

Cygwin ist nicht als virtuelle Linux-Umgebung wie WSL gedacht, sondern als Tool für Linux-Entwickler, um ihre Linux-Programme in einer vertrauten Umgebung auf Windows zu portieren und zu testen.

Cygwin unterstützt sowohl Linux- als auch Windows-Dateinamen, sodass die Dienstprogramme auch mit Windows-Ordnern und -Dateien arbeiten können. Dabei ist jedoch Vorsicht geboten, da es zwischen Windows und Linux einige Unterschiede gibt. Beispielsweise verwenden die Linux-Tools von Cygwin einen Zeilenvorschub als Zeilenendezeichen, während Windows dafür zwei Zeichen verwendet.

Alle Cygwin-Tools sind .exeProgramme, die unter Windows ausgeführt werden und überall dort eingesetzt werden können, wo auch ein Windows-Tool eingesetzt werden kann.

Verweise :

verwandte Informationen