29 novembre 2013

Cygwin - Avoir une console de type Linux sur Windows


Cygwin permet d'avoir un meilleur terminal que celui par défaut sur Windows.

Cela permet d'avoir une console bien plus conviviale et disposant des commandes Linux.

Présentation

Cygwin permet d'installer des outils de Linux portés pour Windows.

Nous pourrons par exemple utiliser :
  • les commandes : ls, mv, cp, tar, gzip, curl, ssh
  • les éditeurs : vi, nano
De plus, le terminal de Cygwin est plus avancé et se comporte davantage comme un terminal de Linux.

Installation

  • Aller sur la page : http://www.cygwin.com/
  • Dans la section Current Cygwin DLL version de cette page, cliquer sur un des deux liens :
    • setup-x86.exe : pour Windows 32 bits
    • setup-x86_64.exe : pour Windows 64 bits
  • Télécharger et lancer l'installation de Cygwin
  • La fenêtre Cygwin Setup apparaît
  • Cliquer sur Suivant
  • Sélectionner l'option Install from Internet 
  • Cliquer sur Suivant
  • Indiquer le répertoire où sera installé Cygwin : C:\Progs\Cygwin
  • Cliquer sur Suivant
  • Indiquer le répertoire où seront installés les packages d'installation de Cygwin : C:\Progs\CygwinDownloads
Il est important de conserver ce répertoire Downloads car il contient les packages téléchargés et sera utilisé lorsque nous voudrons plus tard ajouter de nouveaux packages.
  • Cliquer sur Suivant
  • Sélectionner Direct Connection 
  • Cliquer sur Suivant
  • Cygwin va récupérer la liste des sites miroirs sur lesquels télécharger les packages
  • Sélectionner un des sites miroir
  • Cliquer sur Suivant
  • La fenêtre de sélection des packages apparaît
La fenêtre de sélection des packages permet de choisir quel programme sera installé dans Cygwin. Nous retrouvons les packages Linux portés sur Windows.
  • Sélection de package :
    • Le fait qu'un package est sélectionné pour être installé est visible par la case cochée dans la colonne "B..." ou "Bin?"
    • Pour sélectionner un package, il faut cliquer sur le nom du package : la case est alors cochée
  • Rechercher et installer les packages qui ne sont pas installés par défaut, comme  :
    • ncurses, inetutil, curl, openssh, nano, zip, unzip, wget
  • Cliquer sur Suivant
  • La fenêtre affiche le récapitulatif des packages qui seront installés
  • Cliquer sur Suivant
  • La fenêtre de téléchargement des packages s'affiche
  • Patienter jusqu'à la fin du téléchargement
  • Puis terminer l'installation de Cygwin
  • Une fois l'installation terminé, recopier le fichier setup-x86.exe ou setup-x86_64.exe dans le répertoire de Cygwin : C:\Progs\Cygwin. Ceci permettra d'installer d'autres programmes dans Cygwin.
Maintenant Cygwin est installé dans le répertoire C:\Progs\Cygwin.
Un raccourci a été installé dans le menu démarrer et sur le bureau.

Ajouter de nouveaux packages

Pour ajouter un nouveau package sur une installation existante de Cygwin, nous avons à lancer de nouveau le programme d'installation de Cygwin.

Celui-ci utilise le contenu du répertoire C:\Progs\CygwinDownloads pour ne pas télécharger de nouveau les packages présents dans ce répertoire.

Pour installer de nouveaux packages :
  • Lancer : C:\Progs\Cygwin\setup-x86.exe
  • Reprendre les étapes ci-dessusde l'installation pour installer de nouveaux packages

Désinstaller

Pour désinstaller Cygwin, il suffit de supprimer :
  • les raccourcis Cygwin du menu démarrer et du bureau
  • les deux répertoires : C:\Progs\Cygwin et C:\Progs\CygwinDownloads.

Utilisation

En démarrant Cygwin, nous pouvons maintenant profiter des commandes linux sur Windows.
  • Pour lancer Cygwin, utiliser le raccourci Cygwin Terminal du menu démarrer
  • La fenêtre du terminal de Cygwin s'affiche

Répertoire utilisateur

Dans Cygwin, l'utilisateur a le nom du login de l'utilisateur sur windows.

Cygwin démarre la session sur le répertoire home de l'utilisateur. Ce répertoire correspond en fait au répertoire C:\Progs\Cygwin\home\[utilisateur] et non celui de Windows.

Disques et partitions

Les disques et partitions C:, D: disponibles sous Windows sont accessibles dans la console Cygwin dans le répertoire /cygdrive.

Les lettres des partitions et des disques sont identiques à ceux de Windows.

Par exemple, tapper les commandes suivantes dans la console de Cygwin :
  • cd /cygdrive
    • vous voyez tous les disques et partitions disponibles sous Windows
  • cd /cygdrive/c
    • vous accéder à la partition C: 
    • Tapper ls et vous verrez tous les fichiers de la partition C:.

Commandes Linux

Dans la console cygwin, vous pouvez utiliser les programmes choisis à l'installation de Cygwin. Il y a les commandes de base de Linux, comme : ls, cd, mv, cp, vi ; et également les programmes que nous avons choisis : nano, curl, ssh

Lancer un fichier .bat ou .cmd

Comme sur Linux, pour lancer l'exécution d'un fichier .bat ou .cmd il est nécessaire que ce fichier soit exécutable, soit préfixé le nom du fichier par ./, comme par exemple : ./programme.bat

Indexer et rechercher parmi tous les fichiers de Windows

Vous pouvez indexer tous les fichiers de Windows comme sur Linux :
  • Tapper : updatedb
  • Puis : locate [nom du fichier]

Lancer Maven

Dans le terminal Cygwin, accéder au répertoire de votre projet Maven, puis tapper la commande pour lancer la compilation de Maven. Cela fonctionne comme sur le terminal Windows.

Effacer le contenu de l'écran

Pour effacer le contenu du terminal, vous pouvez utiliser le raccourci CTRL + L
Vous pouvez également installer le package ncurses qui apporte la commande clear .

Conclusion

Cygwin peut être bien pratique pour lancer des programmes en ligne de commande, comme par exemple Maven ou curl.