Vous avez installé CygWin sur Windows 10 afin d’exécuter des commandes Linux dans Windows.
Vous n’avez jamais utilisé ce dernier et souhaitez débuter avec ce dernier.
Mais quelles sont les commandes de bases ? Comment accéder aux fichiers Windows depuis CygWin.
Cet article vous guide pour apprendre à utiliser l’environnement CygWin avec les bases et vous faire gagner du temps.
Table des matières
Utiliser Cygwin pour passer des commandes Linux dans Windows 10
Installer Cygwin
L’installation n’est pas compliquée.
Un article complet vous guide pour installer CygWin sur votre PC en Windows 10 :
Les composants CygWin
Voici les composants CygWin après l’installation :
- CygWin64 Terminal : un terminal et shell pour passer les commandes Linux
- GNOME Flashback (Metacity) : L’environnement de bureau GNOME Nécessite d’avoir installé les paquets. On peut faire de même avec KDE
- User Script : exécute l’environnement X Cygwin/X
- XWin Server : Execute un serveur X
Cygwin/X est une implémentation du système X Window qui fonctionne sous Microsoft Windows. Il fait partie du projet Cygwin et est installé à l’aide du système de configuration standard de Cygwin. Cygwin / X est un logiciel gratuit, sous licence X11.
Les commandes de bases Linux dans cygwin
On retrouve les mêmes commandes que sur Linux :
Commandes | Description |
cat | Afficher le contenu d’un fichier |
ls | Lister le répertoire actuel |
dir | Similaire à “ls” |
pwd | Afficher le répertoire de travail actuel |
cd répertoire | Remplacer le répertoire de travail actuel par “répertoire” |
cd .. | Remplacer le répertoire de travail actuel par son répertoire “parent” |
cd / | Remplacer le répertoire de travail actuel par son répertoire «racine» |
mkdir | Créer un nouveau dossier |
rm * | Supprimer un fichier |
man commande | Affiche le man (aide) de la commande |
Bref, il y a toutes les commandes basiques (kill, mount, etc)
Reportez-vous à cet article complet :
Recherche de fichiers Cygwin avec des applications Windows, et vice versa
La notation des fichiers sur CygWin et Unix diffèrent de Windows.
Notamment les chemins utilisent / et non \
Si vous avez besoin d’utiliser un programme Cygwin pour lire ou écrire un fichier situé en dehors de c:\cygwin, vous pouvez utiliser un chemin commençant par /cygdrive/c/ à cet effet.
Si vous avez un lecteur Windows d:, utilisez /cygdrive/d/ de la même manière pour accéder à son contenu depuis les programmes Cygwin.
Par exemple, un fichier Windows natif appelé c:\Users\utilisateurs\Mes documents\hello.c peut être trouvé par un programme Cygwin dans /cygdrive/c/Mes\Documents/hello.c
Ainsi pour se rendre sur le disque C depuis le terminal cygwin :
cd /cygdrive/c
Voici les équivalences de l’arborescence Windows et CygWin pour accéder trouver vos fichiers facilement.
Chemin dans Windows | Chemin dans CygWin |
c:\cygwin64 | / |
C:\ | /cygdrive/c |
D:\ | /cygdrive/d |
c:\cygwin64\bin | /bin |
c:\cygwin64\etc | /etc |
c:\cygwin64\home | /home |
c:\cygwin64\lib | /lib |
c:\cygwin64\tmp | /tmp |
c:\cygwin64\usr | /usr |
c:\cygwin64\var | /var |
cygwin fournit l’utilitaire cygpath pour convertir les chemins :
cygpath -u 'c:\cygwin\cygbuild\build.mak'
/cygdrive/c/cygwin/cygbuild/build.mak
Pour vous y retrouver dans l’arborescence Linux, vous pouvez consulter cette page :
On retrouve celle-ci dans c:\cygwin64 :
Ainsi si vous placez un fichier dans l’arborescence CygWin, on récupère ce dernier depuis le terminal.
De quoi par exemple décompresser une archive avec depuis 7zip dans Windows pour y accéder depuis CygWin.
Les commandes cygwin
cygwin possède des commandes internes.
Voici une liste avec les explications :
Commandes | Descriptions |
cygcheck | Répertoriez les informations système, vérifiez les packages installés ou interrogez la base de données des packages. Équivalent de dpkg ou rpm |
cygpath | Convertir les chemins de format Unix et Windows ou afficher les informations de chemin du système |
cygstart | Démarrer un programme ou ouvrir un fichier ou une URL |
Cygserver | Cygserver est un programme conçu pour s’exécuter en tant que service d’arrière-plan. Il fournit aux applications Cygwin des services qui nécessitent un arbitrage de sécurité ou qui doivent persister lorsqu’aucune autre application cygwin n’est en cours d’exécution. |
cygrunsrv | cygrunsrv est une implémentation d’un démarreur de service NT / W2K, similaire aux programmes INSTSRV, u SC de Windows |
cygcheck
Pour obtenir la version d’un paquet à partir du binaire, on utilise l’option -f
cygcheck -f /usr/bin/less
Lister tous les fichiers d’un paquet :
cygcheck -l less
Les autres options de cygcheck :
- L’option -c vérifie la version et l’état des packages Cygwin installés. Si vous spécifiez un ou plusieurs noms de packages, cygcheck limitera sa sortie à ces packages, ou sans argument, il répertorie tous les packages
- L’option -r amène cygcheck à rechercher dans votre registre des informations pertinentes pour les programmes Cygwin
- L’option -v rend la sortie plus détaillée.
- L’option -r amène cygcheck à rechercher dans votre registre des informations pertinentes pour les programmes Cygwin
cygstart
Démarrez Bash dans une nouvelle fenêtre :
cygstart bash
Ouvrez le site malekal.com dans votre navigateur par défaut:
cygstart https://www.malekal.com
Imprimer un fichier texte :
cygstart --print README.txt
Ouvrez un document Word dans une fenêtre agrandie :
cygstart --maximize ~ /projects/dossier/document.doc
cygrunsrv
Démarrer un service Windows :
cygrunsrv -S <svc_name>
cygrunsrv --start <svc_name>
Supprimer un service Windows :
cygrunsrv -R <svc_name>
cygrunsrv --remove <svc_name>
Arrêter un service Windows :
cygrunsrv -E <svc_name>
cygrunsrv --stop <svc_name>
Exécuter un script Shell dans Windows 10
Pour exécuter un script Shell dans Windows 10 :
- Ouvrez le terminal Cygwin
- Exécuter le script avec ./ au début. Par exemple pour exécuter script.sh :
./script.sh
Mais on peut aussi exécuter le script Shell sans la console et terminal.
En effet, il est possible d’appeler les binaires cygwin directement dans Windows.
Ainsi pour exécuter un script Shell depuis Windows 10 sans un terminal cygwin :
C:\cygwin64\bin\dos2unix script.sh
C:\cygwin64\bin\bash script.sh
Cela permet d’intégrer ce dernier dans un script BATCH / CMD.
Pour faciliter les appels des commandes cygwin dans Windows, vous pouvez ajouter le chemin dans la variable d’environnement PATH :
- Ouvrez une invite de commandes en administrateur
- Puis copiez/collez :
set PATH=C:\cygwin64\bin;%PATH%
Ici on part du principe que cygwin est installé dans C:\cygwin64.
A adapter selon votre configuration.