He estado usando Cygwin por un tiempo. Cuando necesito nuevos paquetes, abro la instalación y selecciono las versiones que necesito y la instalación se encarga del resto. Noté que todos los programas se descargan aC:\cygwin64\bin
Dentro de la carpeta bin hay muchos ejecutables .exe. Esto incluye diff, find, grep, gzip, vi, vim, whatis, which, who, whoami y muchos otros. Lo que hice fue agregar C:\cygwin64\bin
a la variable PATH del usuario.
Ahora puedo acceder a todos los programas mencionados anteriormente y más, que se descargan y utilizan para su uso a través de Cygwin, también a través de PowerShell y el símbolo del sistema de Windows. Estoy confundido. ¿Se supone que todos esos programas deben ejecutarse solo en Cygwin o en cualquier terminal de Windows? Si puedo ejecutar esos programas sin el terminal bash Cygwin, ¿cuál es el punto de tener Cygwin en primer lugar?
Respuesta1
Cygwin es una colección de herramientas de Linux que están compiladas para funcionar en Windows como .exe
ejecutables.
Este es uno descripción:
Cygwin es una colección de herramientas de código abierto que permite compilar y ejecutar aplicaciones Unix o Linux en un sistema operativo (SO) Microsoft Windows desde una interfaz similar a Linux. Cygwin ofrece a los usuarios una experiencia similar a Linux en un entorno Windows. Esta capacidad ayuda a los desarrolladores a migrar aplicaciones de Unix o Linux a sistemas basados en Windows y facilita el soporte de sus aplicaciones que se ejecutan en la plataforma Windows.
En el corazón de la colección de herramientas Cygwin se encuentra la biblioteca de vínculos dinámicos (DLL) cygwin1.dll. La DLL sirve como una capa de emulación que proporciona funcionalidad de llamada al sistema de interfaz de sistema operativo portátil, o POSIX. La distribución Cygwin también tiene una gran colección de herramientas gratuitas, incluida la mayoría de las herramientas GNU y muchas de Berkeley Software Distribution, junto con un servidor X y un conjunto completo de aplicaciones X.
De hecho, Cygwin es una capa entre el código de origen de Linux y la API de Windows. Ofrece bibliotecas que son bibliotecas de Linux modificadas para usar llamadas de Windows, al tiempo que presenta la sintaxis familiar de Linux. Tiene una capa de tiempo de ejecución, implementada por cygwin1.dll
, que es el tiempo de ejecución que realiza la traducción a la API de Windows.
Para emular un entorno Linux unificado, esta DLL crea un segmento de memoria de memoria compartida que utilizan todas sus herramientas y sus propias copias de cygwin1.dll
.
Cygwin no pretende funcionar como un entorno virtual de Linux como WSL, sino ser una herramienta para que los desarrolladores de Linux puedan migrar y probar sus programas de Linux en Windows en un entorno familiar.
Cygwin admite nombres de archivos de Linux y Windows, lo que permite que sus utilidades funcionen en carpetas y archivos de Windows. Se debe tener cierta precaución, ya que existen algunas diferencias entre Windows y Linux. Por ejemplo, las herramientas Cygwin Linux utilizan un salto de línea como carácter de final de línea, mientras que Windows utiliza dos caracteres para eso.
Todas las herramientas Cygwin son .exe
programas que se ejecutan en Windows y se pueden usar en cualquier lugar donde se pueda usar una herramienta de Windows.
Referencias: