D o m i n i q u e   G u e b e y    J u n g l e      Bazar informatique

CYGWIN

Sommaire :
Généralités | Installation | Administration | Programmation | Exemples d’utilisation

Généralités :

Cygwin est un projet dont le but est de faire tourner sous MS Windows les programmes Unix. C’est avant tout un portage sous Windows du compilateur GCC. De ce fait on dispose de la plupart des commandes shell classiques dans une "fenêtre DOS".

Cygwin a plus d’un attrait ; entre autres :

Installation :

Site de Cygwin : http://www.cygwin.com. On télécharge un programme setup.exe qu’on lance ensuite pour choisir le mode d’installation : installation directe des packages depuis le site de Cygwin, ou récupération préalable. Dans ce dernier cas, on procèdera ensuite à l’installation depuis les packages téléchargés (option "…from Local Directory").

On peut commencer par une installation minimale (groupe de packages BASE et SHELLS), qu’on accroîtra au fil des besoins. Si des packages supplémentaires doivent être installés pour cause de dépendance, le programme de setup les détectera et les incluera automatiquement.

On disposera alors d’un raccourci sur le "bureau" pour ouvrir un fenêtre "shell" mais cette ouverture n’est même pas indispensable, il suffit d’avoir "l’invite de commande" DOS et d’avoir fait quelques aménagements. Cygwin étant supposé installé dans c:\cygwin :

Administration :

adduser n’est pas supporté, il faut utiliser la gestion d’utilisateur de Windows. Lancer /etc/group et /etc/passwd pour créer les groupes et psw.

Accès aux unités windows dans le Shell Unix : voir sous /cygdrive, par exemple  cd  /cygdrive/c  puis  ls  -l  liste les dossiers du volume C:\

Programmation :

Compilation c
 gcc -c  nom_programme.c  crée un nom_programme.o
 gcc -o  nom_programme  nom_programme.o  crée un nom_programme.exe
Compilation c pour exécution sous Windows sans Cygwin
 gcc -c  -mno-cygwin  nom_programme.c 
 gcc -o  nom_programme  -mno-cygwin  nom_programme.o 
Commande de vérification de portabilité
 objdump -p  nom_programme.exe  |  grep  "DLL Name" 
Compilation c++
 c++ -c  nom_programme.cpp 
 c++ -o  nom_programme  nom_programme.o 

Erreur à l’exécution "EOF in Backquote substitution" : on a lancé le premier module .o (compilé mais pas lié).

Exemples d’utilisation

Les classiques et surpuissantes commandes bash deviennent accessibles. Voir aussi notre page http://www.dg77.net/tekno/manuel/utilit.htm

Dans certains exemples, on utilise une valeur d’environnement pour indiquer le chemin d’accès aux fonctions de Cygwin ; par exemple : set CYGW=C:\cygwin\bin\. Le but est d’utiliser Cygwin et non pas la commande « DOS » qui porte le même nom.

Somme de contrôle (checksum)
openssl md5 [fichier] > [sortie.txt]
Résultat (exemple) : MD5(fichier.txt)= 54fff2e624298228e0717ea239538202
Horodatage
%CYGW%date
Résultat (exemple) : Mon Aug 7 12:41:22 2008
%CYGW%date --rfc
Résultat (exemple) : Mon, 07 Aug 2008 12:51:04 +0100
Tri et élimination de doublons dans un fichier texte.
::   D'abord transformer backslash/antislash en slash : 
set TRAV=%TMP%
set TRAV=%TRAV:\=/%
%CYGW%sort -u %TRAV%listfic.txt > %TRAV%sortie.txt
Cre : 23 nov 2004 - Maj : 13 nov 2015

A propos de ces pages / about these pages : http://www.dg77.net/about.htm
Gen : 21/04/2017-13:53:55,83