Abierto
Cerca

¿Qué es Cygwin? Instalación y configuración de Cygwin Cómo guardar el historial de comandos en bash cygwin

Este artículo está destinado a dos
tipos de personas: para los que no entienden
Linux, pero no puedo instalarlo en mi computadora
(hay diferentes motivos), o para aquellos que
sabe un poco sobre pingüinos 🙂 y no me importaría
conócelos de forma "neutral"
territorio, es decir, en Win98/NT.

El sitio ya ha descrito a Cygwin como el mejor
saca el emulador de Linux, pero no se dijo
nada sobre instalación, configuración y errores de Cygwin.
Aquí te lo cuento :) En realidad, si
Ahora que lo pienso, Cygwin no es un emulador en absoluto, pero
solo una distribución de Linux escrita para Win32 😉

Deja de divagar... Vayamos a http://www.cygwin.com,
Desde allí tomamos el programa de instalación setup.exe. A ella
extraeremos los que ya están precompilados
binarios (en extensión exe), ¿recuerdas rpm?
😉 desde el sitio web del desarrollador o desde un espejo.
RECOMIENDO este programa solo para descargar
Instalaremos estos archivos manualmente, porque Si
instala usando setup.exe, gcc no funciona - fig.
sabe por qué... Quizás los desarrolladores ya hayan tenido en cuenta
Esto es un error, pero aún no lo sé...

Entonces, descargue todos los binarios principales (fuentes
no es necesario descargar), y varios
adicional: ¿quién rechazaría a Wget, Lynx,
BitchX, Python :) Pero no tienes que descargar Perl... tengo
estaba ActivePerl, un emulador de Perl avanzado. Descargar
disponible en http://www.acriveperl.com.
No observé ningún fallo :) (Te diré cómo
lo implementé en cygwin).

Ajustes

Y en el archivo "grupo" en la misma carpeta "etc":
raíz:x:0:raíz

Si desea cifrar su contraseña y
no "contraseña" como lo hice en mi ejemplo,
escribir un script en Perl

#!/usr/bin/perl
morder ($pasar= );
imprimir $cripta("SA",$contraseña);

Donde, SA - salta, que se utilizará para el cifrado
contraseña... puedes hacerla aleatoria, pero
Este artículo estará fuera de tema.

Ahora edite el archivo "c:\cygwin\cygnus.bat" -
en él cambiamos PATH, simplemente cambiando la ruta a
emulador y la ruta al archivo login.exe. vamos a lanzar
archivo.

Iniciemos sesión: en mi ejemplo, "root": "contraseña".
Entonces entramos en el propio emulador. No
Me gustó el mensaje de entrada. vamos a cambiarlo
- variables PS1. Abra (cree) el archivo "c:\cygwin\etc\profile"
y escribe ahí:

# /etc/perfil
PERFIL_LOADED=1
RUTA="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/usr/local/sbin:$RUTA"
desarmar DOSDRIVE
desarmar DOSDIR
TMPDIR desarmado
TMP desarmado
exportar HOSTNAME=prueba
PS1="[\u@$NOMBREHOST\W]# "
NOMBRE DE REGISTRO=$USUARIO
exportar RUTA PS1 NOMBRE DE REGISTRO DE USUARIO

Aquí... Luego volveremos a iniciar sesión y todo estará encendido.
lugar y hermoso :) La invitación será: # - estándar, Linux :)

Eso es todo, la instalación inicial está completa.
Pasemos a la instalación de servicios :)

La entrega estándar incluye thuja hucha.
servicios. Necesitas ejecutarlos así:
/usr/sbin/inetd -R /usr/sbin/in.ftpd (ejemplo de ftpd).

Es mejor instalar SSHD usted mismo: funcionó con fuerza y ​​​​
Conduzco desde SecureCRT, legal en 127.0.0.1 -
aspecto completamente diferente :)

En cuanto a trabajar con TCP/IP, no tengo desventajas.
Me di cuenta :) Todo se conecta y funciona como
necesario...

Y ahora algunos consejos:

1) El acceso a TODOS los discos está abierto. Así sea
cuidadoso. Por ejemplo, la unidad d: se encuentra aquí -
"/cygdrive/d".

2) Con respecto a Perl, cree un enlace simbólico al archivo
Perl.exe, por ejemplo, entonces "ln -s /cygdrive/c/perl/bin/perl.exe
/usr/bin/perl"

3) Si por alguna razón no tienes
instalar una aplicación de Linux -
solo arregla el código C. Tal vez,
tendrá éxito... (así es como compilé
micrófono).

4) Siga las actualizaciones de Cygwin en el sitio web http://www.cygwin.com
- Los binarios se actualizan con frecuencia.

¿Preguntas? Escríbeme por correo electrónico - Lo intentaré
ayuda...

Desarrollar aplicaciones multiplataforma no es fácil. Es especialmente difícil gracias a Windows, en el que no todo es como en los humanos. Aquí no tienes ni un terminal normal, ni utilidades normales de consola, ¡nada de nada! Una vez más, ante este problema, decidí probar Cygwin nuevamente. Y adivina qué, ¡resulta que en realidad hace de Windows algo que casi puedes usar!

Puede descargar el instalador de Cygwin desde aquí. De hecho, esto no es tanto un instalador como un administrador de paquetes que, cuando se inicia, le pregunta directamente qué paquetes le gustaría instalar. ¡Tipo! ¡Gerente de empaquetación! ¡Bajo Windows! El instalador crea un caché en el directorio desde el que se iniciará. Por lo tanto, antes de comenzar, es mejor crear alguna carpeta especial en el escritorio y colocar el instalador en ella.

Qué paquetes en mi opinión deben instalarse:

  • abresh- masthev;
  • inetutils, utilidades de enlace, silbido, Carolina del Norte Y nc6- masthev;
  • obtener, rizo- masthev;
  • pitón y/o python3– Creo que es imprescindible;
  • empuje, gvim— para editar archivos pequeños no será superfluo;
  • difusos, pwgen, abrir la cremallera, rzync- que sean por si acaso;
  • gcc y/o sonido metálico, cmake, gdb- si es necesario;
  • pantalla, tmux, mc- para amantes;
  • git- bajo muy grande pregunta, ver más abajo;

¡Nota! Para instalar pip en Cygwin, marque la casilla junto al paquete python-setuptools y/o python3-setuptools. Después de la instalación, en la terminal diga:

easy_install-2.7 pipas

easy_install-3.4 pips

..., dependiendo de la versión o versiones de Python que haya instalado.

Entonces, después de instalar Cygwin, puedes abrir una terminal:

¡Tipo! Un terminal normal que cambia de tamaño te permite copiar y pegar texto, ¡y eso es todo! ¡Bajo Windows! Con todos los comandos conocidos y familiares id, ls, pwd, cat, ssh, scp y otros. Con el entorno humano: .bashrc, ~/.ssh/config, etc. Además, a diferencia del vergonzoso truco llamado PowerShell, Cygwin no arrastra .NET Framework. Incluso podemos abrir múltiples terminales y cambiar entre ellos usando el atajo Ctr + Tab. ¡Es casi como pestañas! Por supuesto, el viejo Alt + Tab también funciona.

Arriba no recomendé instalar Git, y he aquí por qué. El caso es que en Cygwin se ralentiza notablemente. Se recomienda ejecutar los comandos:

git config --global core.preloadindex verdadero
git config --global core.fscache verdadero
configuración de git --global gc.auto 256

Pero esto, desgraciadamente, no soluciona el problema por completo. Entonces, en un proyecto grande, el comando git status se puede ejecutar en 20 segundos. En Linux, exactamente en el mismo repositorio, el comando se ejecuta instantáneamente.

Aquellos a quienes les guste trabajar en una consola similar a una consola Linux pueden instalar Cygwin, un entorno similar a Unix donde estarán disponibles los programas de consola estándar de Linux.

Instalar Cygwin es bastante fácil. Durante el proceso de instalación en uno de los modos, puede marcar las casillas junto a los paquetes de software que desea instalar. Elegí los paquetes nano, git y algo más.

Después de la instalación, aparece un acceso directo a Cygwin en el escritorio para iniciar el entorno.

Ejecute Cygwin desde cualquier carpeta

Como uso TotalCommander, me resulta conveniente iniciar programas inmediatamente desde el directorio que necesito. Creemos un archivo bat conveniente para iniciar Cygwin.

Inmediatamente, sin pensarlo mucho, copie la cadena “Objeto” de la propiedad de este acceso directo al nuevo archivo que creamos C:\bin\bash.bat
El contenido completo del archivo se verá así:

@start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -

Tenga en cuenta que la ruta al archivo exe puede ser diferente para usted. Instalé Cygwin en el directorio C:\cygwin.
Además, si aún no ha agregado el directorio C:\bin a su variable de entorno PATH, entonces debería hacerlo.

Configurar el lanzamiento de Cygwin

Después de trabajar un poco con Cygwin, descubrí que aunque puedo iniciar Cygwin desde cualquier directorio simplemente escribiendo la palabra bash, el entorno de inicio siempre se abre en el directorio de inicio del usuario. (El directorio de inicio se establece en la variable de entorno HOME).

Esto no parece muy conveniente, porque si escribo un comando bash mientras estoy en el directorio D:\xyz, espero que Cygwin en ejecución también esté en el directorio D:\xyz.

Si prestas atención, verás que el acceso directo del escritorio inicia la utilidad mintty.exe. Inmediatamente comprendemos que necesitamos familiarizarnos con la lista de atributos entrantes para este comando.
Abra Cygwin y entre

hombre menta

Después de estudiar detenidamente el manual, estamos satisfechos con algunas posibilidades de las que no sospechábamos, a saber: la posibilidad de establecer el tamaño y las coordenadas de la ventana Cygwin que se iniciará.

Abra nuestro archivo bat y cambie su contenido a lo siguiente:

@start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --tamaño 120.77 --posición -4.0 -

En este caso, configuré el tamaño de la ventana Cygwin que necesitaba y la posición de apariencia de la ventana (es necesario un valor negativo de -4 para que el borde de la ventana quede fuera del borde del monitor y no sea visible).

Ahora mi ventana siempre aparecerá en las coordenadas que me resulten convenientes y no cambiará +8 píxeles en x, y con cada nuevo lanzamiento.

Pero ¿qué pasa con el directorio de lanzamiento de Cygwin?

Después de todo, ir al directorio deseado desde su directorio de inicio es terriblemente inconveniente.

¡La solución ha sido encontrada! Para configurar el directorio actual al iniciar Cygwin, podemos usar el script de ejecución automática para ejecutar el entorno bash.

Por lo tanto, necesitamos mejorar nuestro archivo bash.bat para que cree un archivo de ejecución automática para que se inicie la consola bash.

Lanzamos Cygwin, ingresamos el comando “man bash” y leemos la documentación en busca de lo que necesitamos. Encontramos varias opciones de nombres de archivos para el directorio de inicio del usuario, que se inician al iniciar sesión en bash.
Los archivos se ejecutan al iniciar sesión en bash:

~/.bash_profile ~/.bash_login ~/.profile

Archivo iniciado cuando se inicia bash sin haber iniciado sesión

~/.bashrc

Nota IMPORTANTE: ¡El archivo de inicio ~/.bash_login (o cualquier otro) debe estar escrito en codificación UTF-8! Y no debería utilizar \r caracteres. (Por ejemplo, el comando pwd no me funcionó cuando el archivo contenía el carácter \r al final, que es típico del sistema Windows).

Resulta que generar texto UTF-8 desde CMD no es tan fácil, ¡pero es posible!
A continuación se muestra un ejemplo de cómo se hace esto:

Cmd /u /c chcp 65001 | repetir algún texto > "nombre de archivo"

Mejoremos nuestro archivo C:\bin\bash.bat, ahora tiene el contenido:

@echo desactivado SET file=.bash_login cmd /u /c chcp 65001 | echo #!/bin/bash > "%HOME%\%file%" cmd /u /c chcp 65001 | echo cd "%CD:\=/%" >> "%HOME%\%file%" @start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --tamaño 120.77 -- posición -4,0 -

Una vez iniciada, la consola bash ejecuta el contenido del archivo ~/.bash_login. Este archivo debe estar en formato UTF-8. Para hacer esto, llamamos a CMD con el indicador /u, que nos dice que la consola iniciada debería devolver el resultado en formato UTF-8.

Como puede ver, estamos pasando dos comandos separados por | . Este signo nos permite escribir los dos comandos que necesitamos en una línea.

El primer comando chcp 65001 establece la codificación UTF-8 en la consola en ejecución. (Para saber cuál está configurada la codificación actual en la consola, simplemente llame al comando chcp sin parámetros).

Segundo equipo texto de eco > "%HOME%\%file%" imprime el texto correspondiente en un archivo llamado "%HOME%\%file%", donde los nombres de las variables se expanden en la ruta al directorio de inicio y el nombre del archivo .bash_login.

Tenga en cuenta el acceso inusual a la variable CD, que contiene el directorio actual de la consola cmd. Si una variable generalmente se expande escribiendo

Entonces en nuestro caso usamos la notación

%CD:\=/%

Esto le permite reemplazar inmediatamente todas las barras diagonales de estilo Windows \ con barras diagonales de estilo Linux / .

No olvide poner todos los nombres de archivos y directorios entre comillas dobles, esto le permitirá acceder a directorios que contienen espacios.

Debido al hecho de que se utiliza UTF-8, este diseño le permite abrir Cygwin en directorios con nombres rusos.

Por lo tanto, cada vez que ejecute el comando bash en la consola, se ejecutará el script C:\bin\bash.bat, que sobrescribirá el archivo de inicio del entorno bash en Cygwin. Ahora podemos iniciar fácil y cómodamente la consola bash desde cualquier directorio e inmediatamente acceder al mismo directorio en la consola bash.

¡Nos alegramos y disfrutamos del resultado!

resumámoslo

  1. Instalamos Cygwin
  2. Creó un archivo C:\bin\bash.bat con el contenido @echo off SET file=.bash_login cmd /u /c chcp 65001 | echo #!/bin/bash > "%HOME%\%file%" cmd /u /c chcp 65001 | echo cd "%CD:\=/%" >> "%HOME%\%file%" @start "" C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico --tamaño 120.77 -- posición -4,0 - (Nota: la ruta C:\bin\ debe estar contenida en la variable de entorno PATH)
    Debido a esto hemos logrado:
    • inicie una terminal Cygwin en una posición de pantalla específica (opción --position)
    • abrir una ventana de cierto tamaño (el parámetro --size)
    • Inicie Cygwin desde cualquier directorio escribiendo bash en la consola.
    • al mismo tiempo, el Cygwin iniciado se encuentra en el mismo directorio desde el que se inició.

¿Qué es CYGWIN? Después del artículo de Chris Kaspersky "Cómo hacer Unix a partir de Windows" en el Grupo No. 3 del 23 de enero de 2001, estaba ansioso por contarles a los usuarios de Windows un poco más sobre qué es Cygwin. Lo he estado usando durante bastante tiempo y ya no puedo trabajar eficazmente en Windows sin Cygwin instalado.

La palabra Cygwin consta de dos componentes: Cygnus es el nombre de la empresa y Windows, pero sería un error decir que todo en Cygwin fue escrito por los chicos de Cygnus. Cygwin es una adaptación de las utilidades Gnu para Windows, y Gnu (www.gnu.org) es un proyecto de la Free Software Foundation (o simplemente FSF), con el objetivo de crear un sistema Unix gratuito, sin fines de lucro y sin propiedad. de licencias que restringen la libertad de distribución y modificación del software. Como parte de este proyecto, se reescribieron casi todas las utilidades estándar de UNIX. Las tres contribuciones más importantes de la FSF son gcc (el compilador Gnu C o colección de compiladores Gnu), Bash (el shell Bourne Again) y Emacs. Sin gcc no habría Linux y Bash es el shell estándar para muchos sistemas Unix modernos. Las personas con experiencia dicen que lo primero que hacen los administradores de sistemas después de instalar Unix comerciales es reinstalar las utilidades Gnu. En principio, GNU y FSF son un tema amplio y merecen un artículo detallado aparte.

El conjunto completo de utilidades Gnu es un conjunto de pequeños (normalmente) programas que cubren la mayoría de las tareas que un usuario de un sistema Unix (y no sólo Unix) encuentra cada día; cada uno de estos programas realiza una tarea y la realiza bien; Luego, estos programas se pueden combinar para resolver varios problemas.

Se han realizado más de una vez intentos de portar Gnu a otras plataformas que no son Unix, lo que, por cierto, indica su popularidad.

Cabe mencionar el proyecto de migración de utilidades a DOS: DJGPP. Vaya a http://www.delorie.com/djgpp/, es realmente interesante.

Cygnus no compiló cada utilidad por separado, sufriendo cada vez para resolver los mismos problemas, sino que se escribió una especie de "espaciador" entre las utilidades GNU y el sistema operativo; Este shim, cygwin1.dll (1 - número de versión), proporciona emulación de llamadas al sistema UNIX, lo que le permite compilar y ejecutar programas Unix con pocos o ningún cambio en el código fuente. Básicamente, este dll es el propio Cygwin, y todo lo demás son paquetes de software GNU compilados para funcionar con Cygwin.

La presencia de gcc y bibliotecas permite migrar una amplia variedad de aplicaciones a Windows y convierte a Cygwin en una plataforma completa; a veces se puede encontrar la expresión "plataforma Cygwin". Desde las primeras versiones beta de Cygwin, varias personas han compilado para Cygwin lo que les faltaba para Windows, y la distribución estándar de Cygwin ha ido creciendo gradualmente, incluso a través de estas compilaciones caseras. Por ejemplo, durante la Beta 20 tuve que descargar el editor vim por separado, pero ahora está instalado junto con el conjunto completo.

Cómo instalarlo todo

Cygnus ha escrito un programa conveniente para administrar paquetes, que recuerda ligeramente a algunos programas similares de distribuciones del sistema operativo Linux. El primer paso es descargarlo del sitio web de Cygnus http://sources.redhat.com/cygwin/setup.exe. Al iniciarlo, puede descargar un conjunto estándar de paquetes desde uno de los muchos espejos, y puede optar por hacerlo de forma selectiva, omitiendo paquetes individuales.

Para el futuro, al iniciar este programa más adelante desde el mismo directorio, podrá ver qué nuevos paquetes han aparecido o nuevas versiones de los paquetes existentes.

El mismo programa instalará Cygwin por usted y nuevamente le pedirá que decida qué instalar y qué no instalar. La instalación creará directorios que son comunes en la jerarquía de archivos de Unix: bin, usr, sbin, etc., por lo que es conveniente colocarlos todos en un directorio para que no se confundan con sus carpetas de Windows.

Y como usarlo todo

Cuando inicie Cygwin, verá una ventana de consola similar a una consola normal de Windows, command.com en Win9x o cmd.exe en NT. ¡Pero no! En Windows, lanzó un glorioso descendiente de intérpretes de comandos Unix, que intentó imitar command.com con sus archivos BAT. Bash y su hermano mayor sh son el pegamento que une el sistema Unix; con razón se le puede llamar lenguaje de programación, es decir, se puede escribir en él.

Varios comandos básicos y sus equivalentes en Windows

ls = dir - ver el contenido del directorio;
cd = chdir - pasar a otro directorio;
cp = copiar - copiar un archivo;
mv = mv - mover/renombrar archivo;
rm = del - eliminar archivo;
mkdir = mkdir - crea un directorio;
pwd: muestra el directorio actual.

Recuerde: la "A" grande ya no es igual a la "a" pequeña; el símbolo \ ahora debe reemplazarse por /. El comando cd / en Cygwin lo llevará al directorio donde se encuentran bin, usr, etc. En Unix no hay nada encima de /, pero en Cygwin, para viajar a través de las particiones de Windows, puedes usar el comando cd //c/ (cd //d/MyDir, etc.).

Una de las funciones más convenientes de Bash es el autocompletado. Creemos varios archivos con el comando cat:

gato > primer_archivo ENTRAR

escribe algo, luego Ctrl-C,

y lo mismo para otro archivo:

gato > segundo_archivo ENTER.

Asegúrese de que los archivos existan:

Ahora escriba cualquier comando, por ejemplo, ls y la primera letra del primer archivo. Presione TAB. Bash agregará el nombre del archivo. Si los archivos comienzan igual, como file_one y file_two, Bash agregará solo file_ y esperará a que escriba otra letra para eliminar la ambigüedad.

Varios ejemplos de uso de algunas utilidades.

Digamos que tienes un archivo de texto en formato.txt. Puedes contar el número de palabras que contiene de esta manera:

Número de líneas:

Busque líneas que contengan la secuencia de caracteres Larry:

grep "Larry" en.txt

Divida líneas en palabras, reemplazando espacios con caracteres de final de línea:

gato en.txt | mirar boquiabierto "gsub(" +","\n")"

El comando gawk "gsub(" +","\n")" significa reemplazar uno o más espacios (" +") con el carácter de fin de línea ("\n").

Haga lo mismo, pero con la posibilidad de visualización conveniente (RePág, AvPág, salir - q)

gato en.txt | mirar boquiabierto "gsub(" +","\n")" | menos

Ordenar cadenas (palabras):

gato en.txt | mirar boquiabierto "gsub(" +","\n")" | ordenar | menos

Elimine líneas (palabras) idénticas:

gato en.txt | mirar boquiabierto "gsub(" +","\n")" | ordenar | único | menos

gato en.txt | mirar boquiabierto "gsub(" +","\n")" | ordenar | único | baño -l

Elimine líneas (palabras) idénticas, contando su número:

gato en.txt | mirar boquiabierto "gsub(" +","\n")" | ordenar | uniq --cuenta | menos

Ordenar nuevamente, obteniendo así un diccionario de frecuencias del texto:

gato en.txt | mirar boquiabierto "gsub(" +","\n")" | ordenar | uniq --cuenta | ordenar -r | menos

Lo mismo, con los resultados enviados a un archivo de texto:

gato en.txt | mirar boquiabierto "gsub(" +","\n")" | ordenar | uniq --cuenta | ordenar -r > salida.txt

Lo mismo, con los resultados intermedios guardados en el archivo intermedio.txt:

gato en.txt | mirar boquiabierto "gsub(" +","\n")" | teeintermedio.txt | ordenar | uniq --cuenta | ordenar -r | menos

Ahora, utilizando el poder de Bash, puedes repetir este comando para varios archivos. Escriba el script directamente en la consola, yendo a una nueva línea como está impresa en el artículo; Bash entenderá que el comando no ha finalizado y cambiará el mensaje a ">":

para archivo en *.txt; hacer

gato $archivo | mirar boquiabierto "gsub(" +","\n")" | ordenar | uniq --cuenta | ordenar -r > $archivo.out

Como esto. Problemas simples - soluciones simples.

Para saber cómo funciona un comando en particular, puede ejecutarlo con el parámetro --help o usar el comando man (manual): man awk, man grep. Puedes salir del hombre usando q.

¿QUÉ MÁS HAY EN CYGWIN?

Compilador

Un lenguaje de programación de procesamiento de textos simple (la gente dice: 1 día de capacitación), uno de los antepasados ​​​​de Perl.

editor de secuencias

Generador de analizador en C

Generador de analizador en C

Lenguaje de programación. En realidad, no está directamente relacionado con las utilidades Gnu; estuvo respaldado por la corporación Sun durante algún tiempo. Puede hacer cd /usr/share/tk8.0/demos y ejecutar el widget del programa -./widget. Verá una demostración de las capacidades de Tk, una extensión de Tcl para crear GUI.

Archivador

Potente archivador

Programa de comparación de archivos

Y mucho más. Simplemente ve a la papelera y mira lo que tienes allí. Los depósitos de paquetes se pueden encontrar en http://www.hirmke.de/software/develop/gnuwin32/cygwin/porters/Hirmke_Michael/GNUWin32-contents.html. También hay mucha información y enlaces sobre el tema en el sitio web de Cygnus http://sources.redhat.com/cygwin/.

Cómo configurar CYGWIN

Primero, no es necesario que ejecute Bash si la consola lo intimida. Puede utilizar todos los programas de Far, Windows Commander, etc., sólo necesita especificar la ruta al directorio bin. En Windows 9x, esto se hace en el archivo autoexec.bat, en NT, en Mi PC/Propiedades/Entorno, debe agregar la ruta al contenedor a la variable de entorno PATH.

Para trabajar más cómodamente en Bash, le aconsejo que haga lo siguiente: si sus directorios Cygwin están ubicados en c:\cygwin, cree un directorio c:\cygwin\root (mkdir /root) y agregue una línea al archivo cygwin.bat archivo que esta en c:\cygwin:

INICIO=d:\cygwin\root

En el directorio raíz debes crear 2 archivos que comiencen con un punto: .inputrc y .bashrc. Bash ejecuta ambos archivos al inicio, .inputrc es responsable de garantizar que todas las claves funcionen correctamente y .bashrc contiene diversa información. Como ejemplo, daré mi .bashrc:

exportar PS1="\w > "

exportar RUTA=".:$RUTA"

alias ls="ls --color"

alias untar="tar xvf"

echo ¡Bienvenido a CygWin!

La primera línea especifica la ruta de Bash. Esto es lo que hace Unix con todos los intérpretes. Por ejemplo, si tiene un script hello.pl en Perl y el propio perl está en /usr/bin, puede escribir en la primera línea:

y ejecútelo así:

De esta manera, puede ejecutar programas sin preocuparse por en qué están escritos.

PS1 es una variable que almacena el aviso de Bash, la invitación a trabajar, como también se le llama. \w es el directorio actual.

Después de agregar esto a PATH, puede hacerlo de la forma en que los usuarios de Windows están acostumbrados a hacerlo:

A continuación, uso sinónimos o alias. Por ejemplo, el comando ls de forma predeterminada no colorea su salida dependiendo de cuáles sean los archivos; para hacer esto, debe ejecutarlo con el parámetro --color. alias ls="ls" command --color" Resuelvo este problema. Ahora ls significa ls --color. No es necesario usar el mismo nombre de comando, puedes hacer ll="ls --color" - y usar el nuevo comando ll. Esto es aproximadamente lo que hago cuando creo el comando untar para descomprimir archivos tar, en lugar de escribir tar xvf cada vez, también puedes colocar tuberías (tuberías, tuberías) en alias: alias sort_un_sort=" sort | uniq --cuenta | ordenar -r ".

En realidad, las posibilidades para organizar un lugar de trabajo aquí son ilimitadas y mis ejemplos son primitivos y simples. También hay funciones, comandos interactivos en .bashrc, funciones que se ejecutan desde el símbolo del sistema...

Espero que te inspires para experimentar con Cygwin. Envía tus comentarios a

Para redactar solicitudes de Unix no es necesario instalarlo (bajo la palabra Unix pensaré en todo *nada sistemas). Esta afirmación suena bastante paradójica, pero es cierta, y en este artículo intentaré convencerte de ello.

Si no es un verdadero gurú de Unix, para escribir un par de aplicaciones para este sistema operativo o compilar programas existentes no necesita instalar Unix. Un emulador es perfecto para estos fines. Unix. Hay muchos programas excelentes que hacen esta tarea a la perfección, por ejemplo: Tu ganas, MinGW, Cygwin y etc.

Adecuado para compilar programas simples: MinGW, pero para los más complejos no sirve. Tu ganas es un emulador más avanzado, pero su funcionalidad es significativamente inferior a la de otro emulador más popular Cygwin.

Cygwin es un emulador gratuito y muy funcional Unix. Se distribuye como un único archivo ( configuración.exe), no se deje engañar por el tamaño de este archivo ( ~300kb), este no es él mismo Cygwin, pero sólo su instalador. Todas las utilidades y bibliotecas necesarias deberán descargarse por separado durante el proceso de instalación, o puede especificar un directorio local como fuente si ya tiene los archivos necesarios.

Cygwin incluye una gran cantidad de utilidades y bibliotecas diferentes, muchas de las cuales probablemente nunca necesitará, pero al instalar Cygwin le permite seleccionar sólo los componentes que necesita. Por lo tanto, si solo desea compilar el programa, solo necesitará instalar el compilador. CCG, un conjunto de bibliotecas y utilidades necesarias hacer. Personalmente, instalé todas las aplicaciones porque Cygwin hace que sea fácil “deshacerse” de ellos en cualquier momento. De hecho Cygwin consta de un solo archivo cygwin1.dll, todo lo demás son paquetes de software. ÑU, especialmente compilado para trabajar con Cygwin.



Creo que no hubo problemas con la instalación. Ahora veamos algunas sutilezas en la configuración y el uso. Cygwin. Después de la instalación, la estructura de la carpeta en la que se instaló el programa se parecerá a la estructura *nada sistemas. Para poder lanzar Cygwin, solo corre archivo BAT, cygwin.bat, que se encuentra en el directorio raíz Cygwin(por directorio raíz nos referimos a la carpeta en la que se encuentra el Cygwin, en el futuro contaremos con este catálogo). Después del lanzamiento archivo BAT Aparecerá una aplicación de consola frente a usted. Éste es el indicado Intento, que es el vínculo entre Unix Y ventanas. Intento- esto no es solo un análogo cmd.exe. Intento es un lenguaje de programación completo en el que puedes escribir scripts para realizar diversas tareas. Esto es precisamente lo que lo diferencia fundamentalmente de cmd.exe (comando.com).

Invitación Intento, prácticamente no diferente de cmd.exe (~ - significa su directorio personal). Aquí no hay unidades lógicas (A, C, D, etc.), la cuenta regresiva es desde el directorio raíz designado " / ". También debes recordar que el caso es importante aquí, así que Etc Y etc.- dos catálogos completamente diferentes. Intentemos ir al directorio raíz, para ello simplemente ejecute el comando familiar " cd/" (~ debería cambiar a / ). Después de eso, escriba el comando " directorio", o " es", para ver el contenido del directorio raíz. Creo que ahora entiendes qué es el directorio raíz.





No puedo describir todos los comandos en este artículo, así que pasemos directamente a la etapa más importante, para la cual configuramos Cygwin. Intentemos compilar algún programa. Para la compilación elegí el programa. arriba(http://freshmeat.net/projects/htop/), esta es una versión mejorada del programa estándar arriba, que es un administrador de procesos de consola. El primer paso es descomprimir el archivo. Puedes hacer esto como en ventanas, y directamente en Cygwin. EN Cygwin esto se hace con el comando:

tar zxf htop-0.6.tar.gz

Eso sí, en este momento debes estar en el mismo directorio donde se encuentra el archivo. htop-0.6.tar.gz. Después de descomprimir, vaya al directorio creado. htop-0.6 y ejecutar tres comandos estándar para compilar la aplicación.

./configurar
hacer
hacer la instalación



Eso es todo, la compilación está completa. Siéntete libre de reclutar un equipo arriba y admirar el resultado. El "EXE" resultante se encuentra en el directorio /usr/local/bin/.



Ahora intentemos escribir un programa simple nosotros mismos ( Hola Mundo) y compilarlo con CCG. Primero necesitamos escribir el programa en sí, lo haremos usando el programa gato. Ingrese el comando gato nuevo.c, Dónde nuevo.c el nombre del archivo que contiene el código fuente. Después de ejecutar el comando, escriba el siguiente código:

#incluir
int principal())(
printf("Hola mundo");
devolver 1;)

Después de ingresar el código, presione Ctrl+C. Ahora compilémoslo usando CCG. Esto se hace con el comando:

Gcc nuevo.c -o nuevo.exe

En el mismo directorio donde estaba ubicado nuevo.c Aparecerá otro archivo. nuevo.exe. Cuando lo ejecutes, verás el mensaje esperado " Hola Mundo".



Este podría ser el final del artículo, pero decidí hablar también del entorno gráfico. Cygwin para no volver a este tema más adelante. Creo que te diste cuenta de que al instalar paquetes Cygwin sugiere instalar conchas Gnomo Y KDE. De hecho, estos no son solo shells, sino sus bibliotecas, que son necesarias para ejecutar aplicaciones. Por ejemplo, una versión gráfica del famoso editor. emacs, se ejecutará directamente debajo ventanas como si fuera aplicación win32. Para no ser infundados, probemos este. Emacs correr. Esto se hace con el comando:

xemacs

Esto es lo que veremos.



Como puedes ver, todo arranca y funciona bien. Pero esto no le sucede a todo el mundo. El entorno gráfico es muy caprichoso. Por lo tanto, es necesario poder configurarlo. Documentación de configuración X servidores Hay muchos de ellos en Internet y puedes encontrarlos fácilmente.

Al final me gustaría recordarles que por muy bueno que sea Cygwin, es solo un emulador. Y como sabes, una copia no puede ser mejor que el original, así que si quieres convertirte en un verdadero gurú de Unix, no seas demasiado perezoso para instalar una distribución de Unix completa. En mi opinión es mejor empezar por linux. De todo tipo de distribuciones te recomiendo Slackware.