Créa-blog

#100JoursPourCoder
Projet Créa-code

Ressources pour développeur web

Théme de la semaine : La cryptographie

Tutoriel pour le Terminal : PATH, ENV, Shell et Alias

⏱️ Temps de lecture estimé : 16 minutes
Accueil Sécurité Tutoriel pour le Terminal : PATH, ENV, Shell et Alias

Lorsque vous utilisez un ordinateur, vous avez certainement entendu parler du terminal, de la console ou de l’invite de commande. Ces termes désignent un outil qui permet d’interagir directement avec le système d’exploitation en tapant des commandes textuelles. Contrairement à une interface graphique, le terminal est un espace où chaque instruction est interprétée par l’ordinateur pour effectuer des actions précises, comme lancer un programme, déplacer des fichiers ou modifier des paramètres système.

Dans ce contexte, deux notions sont fondamentales pour comprendre le fonctionnement des commandes et l’exécution des programmes : le PATH et les variables d’environnement (ENV).

Ces concepts sont essentiels pour tout utilisateur souhaitant maîtriser son système, que ce soit sur Linux, MacOS ou Windows. Pourtant, ils sont souvent méconnus, même par des utilisateurs expérimentés, et leur compréhension permet d’éviter de nombreux problèmes liés à l’exécution des programmes.

Le PATH et les variables d’environnement sont des outils du système qui permettent de définir des paramètres globaux accessibles par toutes les applications et tous les utilisateurs. Ils peuvent influencer la façon dont votre système localise les programmes, gère les configurations et communique entre différents logiciels.

Qu’est-ce que le PATH ?

Le PATH est une variable d’environnement très importante qui indique au système où chercher les fichiers exécutables lorsque vous tapez une commande dans le terminal.

Chaque fois que vous lancez une commande comme pythongit ou ls, le système doit savoir où trouver le programme correspondant. Si le programme n’est pas dans un des répertoires listés dans le PATH, vous obtiendrez une erreur indiquant que la commande est introuvable.

Pour visualiser votre PATH sur un système Linux ou MacOS, vous pouvez utiliser la commande suivante dans le terminal :

echo $PATH

Cette commande affichera une longue chaîne de texte séparée par des deux-points :. Chaque partie correspond à un dossier dans lequel le système va chercher les exécutables. Par exemple, vous pourriez voir quelque chose comme :

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Cela signifie que lorsque vous tapez une commande, le système cherche d’abord dans /usr/local/bin, puis dans /usr/bin, et ainsi de suite jusqu’à ce qu’il trouve l’exécutable ou qu’il renvoie une erreur.

Sous Windows, le principe est exactement le même, mais la syntaxe diffère légèrement. Pour voir le PATH sur Windows, vous pouvez taper dans l’invite de commande :

echo %PATH%

Ici, les répertoires sont séparés par des points-virgules ; au lieu des deux-points. Par exemple :

C:\Windows\System32;C:\Windows;C:\Program Files\Git\cmd

A quoi sert le PATH ?

Le PATH permet de lancer des programmes sans avoir à taper leur chemin complet.

Sans PATH, pour exécuter un programme, vous devriez écrire le chemin complet jusqu’au fichier exécutable. Par exemple, pour lancer Git sur Linux, vous devriez taper :

/usr/bin/git --version

Ou pour Python :

/usr/local/bin/python3 --version

Grâce au PATH, vous pouvez simplement taper git --version ou python3 --version et le système saura automatiquement où trouver l’exécutable.

Cela simplifie énormément l’utilisation du terminal, surtout lorsque vous travaillez avec plusieurs programmes différents.

Le PATH est également utilisé par de nombreux scripts et applications pour trouver les programmes nécessaires au fonctionnement d’un logiciel. Sans un PATH correctement configuré, certains logiciels peuvent ne pas fonctionner ou nécessiter des configurations complexes.

Où se trouve le PATH sur son disque dur ?

Bien que le terminal soit l’outil principal pour gérer le PATH et les variables d’environnement, il peut être utile de savoir où se trouvent physiquement les programmes et dossiers depuis une interface graphique. Cela permet de visualiser les chemins exacts avant de les ajouter au PATH.

Sur MacOS : Utiliser le Finder

Sous MacOS, le Finder est l’outil principal pour naviguer dans les fichiers et dossiers. Pour trouver le chemin d’un programme ou d’un dossier :

  1. Ouvrez le Finder et naviguez jusqu’au dossier où le programme est installé, par exemple /Applications pour les applications classiques ou /usr/local/bin pour les programmes installés via Homebrew.
  2. Cliquez sur le programme ou le dossier avec le bouton droit de la souris et sélectionnez Lire les informations.
  3. Dans la fenêtre qui s’ouvre, repérez la section  pour voir le chemin complet jusqu’au dossier contenant le programme.
  4. Vous pouvez également faire un clic droit et choisir Copier le chemin comme texte (option disponible selon la version de MacOS) pour l’utiliser directement dans le terminal ou le PATH.

Une autre méthode consiste à glisser-déposer un fichier ou un programme dans le terminal, ce qui affichera automatiquement son chemin complet. Par exemple, glisser /Applications/Google Chrome.app dans le terminal affichera :

/Applications/Google\ Chrome.app

Vous pouvez ensuite utiliser ce chemin pour ajouter le programme au PATH.

Sur Linux : Utiliser l’explorateur de fichiers

Sous Linux, chaque distribution possède un explorateur de fichiers différent (Nautilus, Dolphin, Thunar…), mais le principe reste le même :

  1. Ouvrez l’explorateur de fichiers et naviguez jusqu’au dossier contenant le programme, comme /usr/bin ou /opt/monprogramme/bin.
  2. Faites un clic droit sur le fichier exécutable et sélectionnez Propriétés ou Informations sur le fichier.
  3. Vous trouverez le chemin complet dans la section Emplacement ou Parent Folder.
  4. Vous pouvez copier ce chemin et l’utiliser pour modifier votre PATH dans le terminal avec export PATH=$PATH:/chemin/vers/programme.

Cette méthode est pratique lorsque vous installez un programme manuellement et que vous n’êtes pas sûr du chemin exact de l’exécutable.

Sur Windows : Utiliser l’explorateur de fichiers

Sur Windows, l’explorateur de fichiers permet de localiser facilement les programmes installés :

  1. Ouvrez l’Explorateur de fichiers et naviguez jusqu’au dossier d’installation, généralement C:\Program Files ou C:\Program Files (x86).
  2. Faites un clic droit sur le fichier exécutable et choisissez Propriétés.
  3. Dans l’onglet Raccourci, repérez le champ Cible qui indique le chemin complet de l’exécutable.
  4. Copiez ce chemin pour l’ajouter à votre PATH ou créer une variable ENV.

Vous pouvez également cliquer dans la barre d’adresse de l’explorateur pour voir et copier le chemin complet du dossier, ce qui est très pratique pour configurer vos variables d’environnement.

Pourquoi cette méthode est utile

Trouver le chemin exact depuis une interface graphique présente plusieurs avantages :

  • Vous évitez les erreurs de frappe ou de saisie dans le terminal.
  • Vous pouvez vérifier que le programme existe bien à l’emplacement attendu avant de l’ajouter au PATH.
  • Cela est particulièrement pratique pour les débutants qui ne connaissent pas encore toutes les commandes du terminal.
  • Vous pouvez combiner cette méthode avec les commandes terminal pour tester immédiatement l’exécutable et vérifier qu’il fonctionne.

Qu’est-ce qu’une variable d’environnement (ENV) ?

Une variable d’environnement, souvent abrégée en ENV, est un paramètre global que le système d’exploitation conserve et que tous les programmes peuvent utiliser. Elle stocke des informations importantes sur l’environnement dans lequel le système ou une application fonctionne.

Ces informations peuvent inclure le chemin des exécutables (comme le PATH), le nom de l’utilisateur, le répertoire de travail par défaut, le type de terminal utilisé, ou encore des configurations spécifiques à des applications.

En d’autres termes, une variable d’environnement est comme un petit message que le système garde en mémoire et que tous les programmes peuvent consulter pour savoir comment se comporter.

Par exemple, sous Linux et MacOS, certaines variables courantes sont :

  • HOME : le répertoire personnel de l’utilisateur.
  • SHELL : le type de shell utilisé, comme Bash ou Zsh.
  • PATH : la liste des répertoires où chercher les exécutables.
  • LANG : la langue du système ou des programmes.

Pour afficher toutes les variables d’environnement sur Linux ou MacOS, il suffit de taper :

printenv

ou

env

Ces commandes afficheront une liste complète de toutes les variables actuellement définies dans votre session. Si vous voulez vérifier la valeur d’une variable spécifique, vous pouvez utiliser :

echo $HOME

Sous Windows, le principe est le même, mais la syntaxe diffère légèrement. Vous pouvez afficher toutes les variables avec :

set

Ou la valeur d’une variable spécifique avec :

echo %USERNAME%

Ici, %USERNAME% est une variable qui contient le nom de l’utilisateur connecté.

A quoi servent les variables d’environnement ?

Les variables d’environnement servent à plusieurs fins très importantes. Tout d’abord, elles permettent de standardiser le comportement des applications et du système.

Plutôt que de configurer manuellement chaque logiciel, le système transmet automatiquement certaines informations via ces variables. Cela simplifie le développement et l’exécution des programmes.

Ensuite, elles facilitent l’organisation et la gestion des ressources. Par exemple, si vous installez plusieurs versions de Python sur votre machine, vous pouvez configurer le PATH pour indiquer quelle version utiliser par défaut. Les variables ENV permettent également de créer des configurations temporaires pour certaines sessions sans modifier les fichiers de configuration globaux.

Enfin, elles peuvent améliorer la sécurité et la portabilité. Les variables d’environnement permettent de stocker des informations sensibles comme des clés API ou des mots de passe pour certains logiciels, sans avoir à les inclure directement dans le code.

Avantages et limites du PATH et des variables ENV

Les avantages

Le principal avantage du PATH et des variables ENV est la simplification de l’utilisation du terminal. Elles permettent de lancer n’importe quel programme sans avoir à connaître son chemin exact, ce qui rend le travail beaucoup plus rapide et fluide.

Par exemple, sans vous soucier de son emplacement, vous tapez simplement, :

git --version

Elles offrent également une flexibilité importante. Vous pouvez configurer plusieurs environnements pour différents projets, changer temporairement le comportement d’un programme ou utiliser des versions spécifiques d’un logiciel sans affecter le reste du système.

Pour les développeurs, le PATH et les variables ENV permettent de créer des scripts portables et reproductibles.

Un script qui se base sur des variables d’environnement fonctionnera sur n’importe quelle machine correctement configurée, ce qui facilite le partage et la collaboration.

Les limites

Cependant, ces outils ont aussi leurs limites. Le PATH peut devenir trop long si vous ajoutez trop de répertoires, ce qui peut ralentir la recherche d’exécutables.

Une configuration incorrecte du PATH ou d’autres variables ENV peut également provoquer des erreurs difficiles à diagnostiquer, comme des commandes introuvables ou des conflits de versions de logiciels.

De plus, certaines variables ENV sensibles doivent être manipulées avec précaution, notamment celles contenant des mots de passe ou des clés d’API. Une mauvaise gestion peut compromettre la sécurité de votre système ou de vos applications.

Cas concrets d’utilisation du PATH et d’ENV

Prenons quelques exemples pour mieux comprendre l’utilisation concrète de ces variables.

Exemple 1 : Ajouter un programme au PATH

Supposons que vous ayez installé un nouveau logiciel dans /opt/monprogramme/bin. Pour pouvoir exécuter ce logiciel depuis n’importe quel dossier, vous devez ajouter ce chemin au PATH. Sous Linux ou MacOS, vous pouvez taper :

export PATH=$PATH:/opt/monprogramme/bin

Cette commande ajoute le répertoire /opt/monprogramme/bin à la fin du PATH existant. Maintenant, vous pouvez lancer le programme simplement avec son nom, sans spécifier le chemin complet. C’est plus rapide !

Sous Windows, vous pouvez ajouter un chemin au PATH en utilisant :

setx PATH "%PATH%;C:\MonProgramme\bin"

Cela rend le programme accessible depuis l’invite de commande dans toutes les futures sessions.

Exemple 2 : Utiliser une variable d’environnement pour configurer un logiciel

Imaginons que vous développiez un projet Python qui nécessite une clé API pour se connecter à un service. Au lieu d’écrire la clé directement dans le code, vous pouvez créer une variable ENV :

Sous Linux ou MacOS :

export API_KEY=ma_cle_secrete

Puis, dans votre script Python, vous pouvez récupérer cette clé avec :

import os
api_key = os.getenv('API_KEY')

Sous Windows :

setx API_KEY "ma_cle_secrete"

Cette approche est plus sécurisée et facilite le partage du code sans divulguer la clé.

Gestion avancée du PATH et des variables ENV

Une fois que vous comprenez ce qu’est le PATH et ce que sont les variables d’environnement, il est important d’apprendre à les gérer de manière efficace et sécurisée. Une bonne gestion vous évite des erreurs fréquentes, des conflits entre programmes et assure une productivité maximale dans le terminal.

Modifier le PATH de façon permanente

Jusqu’à présent, nous avons vu des commandes comme export PATH=... sous Linux et MacOS, ou setx PATH=... sous Windows. Ces commandes fonctionnent bien pour la session actuelle, mais elles peuvent disparaître après la fermeture du terminal. Pour que les modifications soient permanentes, il faut éditer certains fichiers de configuration.

Sous Linux et MacOS, vous pouvez ajouter vos chemins dans le fichier .bashrc.bash_profile ou .zshrc (selon le shell utilisé). Par exemple, ouvrez le fichier .bashrc avec votre éditeur préféré :

nano ~/.bashrc

Ajoutez ensuite la ligne :

export PATH=$PATH:/opt/monprogramme/bin

Sauvegardez le fichier et rechargez-le avec :

source ~/.bashrc

Dès maintenant, ce chemin sera disponible à chaque ouverture du terminal.

Sous Windows, la meilleure pratique consiste à passer par l’interface graphique pour modifier le PATH global. Ouvrez les Paramètres Système > Variables d’environnement, puis ajoutez votre chemin dans la variable PATH de l’utilisateur ou du système. Cela permet de gérer facilement plusieurs chemins sans risque de conflit.

Créer et utiliser des variables d’environnement personnalisées

Au-delà du PATH, vous pouvez créer vos propres variables pour stocker des informations utiles. Par exemple, pour définir le répertoire de travail de vos projets :

Sous Linux/MacOS :

export PROJET_PATH=/home/utilisateur/mes_projets

Vous pouvez ensuite utiliser cette variable pour naviguer rapidement :

cd $PROJET_PATH

Sous Windows :

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?
setx PROJET_PATH "C:\Users\Utilisateur\MesProjets"

Puis dans l’invite de commande :

cd %PROJET_PATH%

Ces variables personnalisées permettent d’éviter de retaper de longs chemins ou des informations répétitives, ce qui accélère votre travail dans le terminal.

Priorité des chemins dans le PATH

Lorsque le système cherche un programme, il lit le PATH de gauche à droite. Cela signifie que si deux exécutables portant le même nom existent dans différents dossiers du PATH, celui qui apparaît en premier sera utilisé.

Par exemple, si vous avez deux versions de Python, l’une dans /usr/bin/python3.8 et l’autre dans /usr/local/bin/python3.10, l’ordre dans le PATH déterminera laquelle sera lancée par défaut. Vous pouvez vérifier la version utilisée avec :

which python3

Sous Windows, vous pouvez utiliser :

where python

Pour changer la priorité, il suffit de déplacer le chemin désiré en début de liste du PATH.

Variables d’environnement sensibles

Certaines variables contiennent des informations sensibles, comme des mots de passe, des clés API ou des jetons de connexion. Il est crucial de les gérer correctement.

Par exemple, ne les stockez jamais directement dans votre code source si ce code est partagé ou publié. Utilisez toujours les variables d’environnement pour ces informations.

Sous Linux/MacOS, vous pouvez créer un fichier .env non suivi par Git pour stocker vos variables, puis les charger avec :

export $(cat .env | xargs)

Sous Windows, vous pouvez stocker ces variables dans le PATH utilisateur ou dans des fichiers .bat sécurisés, en veillant à ce qu’ils ne soient pas partagés publiquement.

Pour éviter les problèmes liés au PATH et aux variables ENV, quelques bonnes pratiques sont essentielles :

  1. Toujours sauvegarder vos fichiers de configuration avant de les modifier.
  2. Vérifier les chemins avec echo $PATH ou echo %PATH% pour confirmer que vos modifications sont bien prises en compte.
  3. Ne pas supprimer des chemins par défaut du système, cela pourrait rendre certaines commandes introuvables.
  4. Pour les variables sensibles, utiliser des fichiers .env ou des solutions de gestion sécurisée.
  5. Documenter vos variables personnalisées pour vous souvenir de leur usage et éviter les conflits avec d’autres programmes.

Compatibilité avec Linux, MacOS et Windows

Le PATH et les variables ENV sont des concepts universels, mais leur syntaxe et leur gestion varient selon le système d’exploitation :

  • Sous Linux et MacOS, le PATH est séparé par des deux-points :, et les variables sont accessibles via $NOM_VARIABLE. Les fichiers de configuration .bashrc.bash_profile ou .zshrc permettent de les définir de façon permanente.
  • Sous Windows, le PATH est séparé par des points-virgules ;, et les variables sont accessibles via %NOM_VARIABLE%. Les modifications peuvent se faire via l’invite de commande setx ou l’interface graphique des Variables d’environnement.
  • Dans tous les systèmes, le principe reste le même : fournir un moyen standardisé pour que le système et les applications sachent où chercher les programmes et quelles informations utiliser.

Exemples pratiques et guide complet pour configurer le PATH et les variables ENV

Pour maîtriser le PATH et les variables d’environnement, il est essentiel de passer par des cas concrets et des configurations réelles.

Ajouter plusieurs programmes au PATH

Imaginons que vous développiez sur Python et Node.js en même temps, et que vous ayez installé Python dans /usr/local/python3 et Node.js dans /usr/local/node. Pour que le terminal reconnaisse automatiquement ces programmes, il faut ajouter leurs dossiers au PATH.

Sous Linux ou MacOS, ouvrez votre fichier de configuration du shell (~/.bashrc ou ~/.zshrc) et ajoutez :

export PATH=/usr/local/python3/bin:/usr/local/node/bin:$PATH

Ici, nous plaçons nos dossiers personnalisés au début du PATH pour qu’ils aient priorité sur d’autres installations éventuelles. Ensuite, rechargez le fichier :

source ~/.bashrc

Pour vérifier que tout fonctionne correctement :

which python3
which node

Sous Windows, si vous installez Python et Node.js dans C:\Python3 et C:\Node, vous pouvez les ajouter au PATH via l’interface graphique :

  1. Ouvrez Paramètres Système > Variables d’environnement.
  2. Sélectionnez la variable PATH de l’utilisateur ou du système.
  3. Cliquez sur Modifier et ajoutez C:\Python3 et C:\Node.
  4. Validez et ouvrez une nouvelle invite de commande pour tester :
python --version
node --version

Créer des variables ENV pour un projet

Supposons que vous développiez une application web qui utilise une base de données et une API. Vous pouvez créer des variables ENV pour stocker les informations de connexion.

Sous Linux/MacOS :

export DB_USER=admin
export DB_PASSWORD=motdepasse
export API_KEY=ma_cle_api

Puis, dans votre script ou programme, vous pouvez récupérer ces valeurs avec os.getenv en Python ou process.env en Node.js.

Sous Windows :

setx DB_USER "admin"
setx DB_PASSWORD "motdepasse"
setx API_KEY "ma_cle_api"

Ainsi, ces informations sensibles ne sont pas écrites dans le code, ce qui améliore la sécurité et facilite le partage du projet.

Erreurs courantes à éviter

  1. Supprimer des chemins système essentiels : Sur Linux, MacOS ou Windows, supprimer /usr/bin ou C:\Windows\System32 du PATH peut rendre le système inutilisable. Toujours faire une sauvegarde avant modification.
  2. Confusion entre variables temporaires et permanentes : Les commandes export ou set ne durent que le temps de la session. Pour une modification permanente, utilisez .bashrc.zshrc ou l’interface graphique de Windows.
  3. Mauvaise priorité des chemins : Si vous installez plusieurs versions d’un même programme, placez le chemin désiré en premier dans le PATH pour qu’il soit utilisé par défaut.
  4. Ne pas redémarrer le terminal après modification : Les changements du PATH ou des variables ENV ne sont pris en compte qu’après ouverture d’une nouvelle session ou recharge du fichier de configuration.

Configurer PATH et ENV

Sous Linux/MacOS :

  1. Ouvrez le terminal.
  2. Vérifiez votre PATH actuel : echo $PATH.
  3. Identifiez le fichier de configuration de votre shell : ~/.bashrc ou ~/.zshrc.
  4. Ouvrez ce fichier avec un éditeur de texte, par exemple : nano ~/.bashrc.
  5. Ajoutez vos chemins personnalisés au PATH :
export PATH=/chemin/vers/programme:$PATH
  1. Ajoutez vos variables ENV personnalisées :
export NOM_VARIABLE=valeur
  1. Sauvegardez le fichier et rechargez-le : source ~/.bashrc.
  2. Vérifiez la configuration : echo $PATH et echo $NOM_VARIABLE.

Sous Windows :

  1. Ouvrez les Paramètres Système > Variables d’environnement.
  2. Pour le PATH, sélectionnez la variable de l’utilisateur ou du système, puis Modifier et ajoutez vos chemins.
  3. Pour créer une variable ENV, cliquez sur Nouvelle et entrez le nom et la valeur.
  4. Validez et ouvrez une nouvelle invite de commande.
  5. Vérifiez avec :
echo %NOM_VARIABLE%
where programme

Optimiser votre utilisation

  • Documentez toujours vos modifications, surtout si vous travaillez sur plusieurs projets.
  • Créez un fichier .env pour chaque projet avec les variables spécifiques à ce projet.
  • Séparez le PATH pour les logiciels système et vos programmes personnalisés pour éviter les conflits.
  • Pour tester une variable temporairement sans affecter le système, utilisez export (Linux/MacOS) ou set (Windows).

Le PATH et les variables d’environnement sont des outils puissants et essentiels pour toute personne utilisant le terminal. Ils permettent de simplifier l’exécution des programmes, de configurer des environnements de travail sécurisés et flexibles, et d’éviter de nombreux problèmes liés à la configuration logicielle.

Avec une bonne compréhension et une gestion correcte, vous pourrez : lancer n’importe quel programme facilement, créer des projets portables, sécuriser vos informations sensibles et travailler de manière plus efficace dans votre terminal.

Comprendre le SHELL

Lorsque vous utilisez un terminal, vous interagissez toujours avec un programme appelé shell. Nous en parlons depuis plusieurs chapitre. Mais à quoi sert-il ?

Le shell est l’interface qui interprète vos commandes et les transmet au système d’exploitation pour qu’elles soient exécutées. En d’autres termes, c’est le traducteur entre ce que vous tapez et ce que le système comprend.

Le shell est donc indispensable pour travailler avec le terminal, car sans lui, le système ne pourrait pas comprendre vos instructions textuelles. Il existe plusieurs types de shells, chacun ayant ses particularités et ses fonctionnalités.

Quels sont les types de shell principaux

Les shells les plus connus sont BashZshFish et PowerShell (pour Windows). Chacun a ses avantages et ses spécificités :

  • Bash (Bourne Again SHell) : C’est le shell le plus utilisé sur Linux et MacOS. Il est stable, puissant et compatible avec de nombreux scripts. Bash permet de gérer facilement le PATH, les variables d’environnement, et l’automatisation de tâches via des scripts (.sh).
  • Zsh (Z Shell) : Très similaire à Bash, Zsh offre des fonctionnalités avancées comme l’autocomplétion améliorée, la correction automatique des commandes, et une personnalisation plus poussée. De nombreux utilisateurs MacOS utilisent désormais Zsh par défaut.
  • Fish (Friendly Interactive SHell) : Conçu pour être convivial, Fish propose une interface colorée, des suggestions automatiques et une syntaxe simplifiée. Il est idéal pour les débutants qui veulent un shell interactif intuitif.
  • PowerShell : Principalement utilisé sur Windows, PowerShell est un shell moderne qui combine des commandes textuelles et des objets, offrant une grande puissance pour l’administration système et l’automatisation.

Comment savoir lequel est utilisé par défaut sur votre système :

Sous Linux et macOS, ouvrez votre terminal et tapez :

echo $SHELL

Cette commande affiche le chemin du Shell par défaut. Par exemple :

  • /bin/bash → vous utilisez Bash
  • /bin/zsh → vous utilisez Zsh
  • /usr/bin/fish → vous utilisez Fish

Vous pouvez aussi vérifier avec :

echo $0

Cela renvoie souvent le nom du Shell en cours d’utilisation.

Par défaut, Windows utilise Command Prompt (cmd.exe) ou PowerShell. Pour savoir lequel vous utilisez :

  • Si votre invite de commande affiche quelque chose comme C:\Users\VotreNom>, vous êtes dans cmd.exe.
  • Si vous voyez PS C:\Users\VotreNom>, vous êtes dans PowerShell.

Pour vérifier plus précisément dans PowerShell, vous pouvez taper :

$SHELL

Mais comme cette variable n’existe pas par défaut, vous pouvez plutôt regarder la version du shell :

$PSVersionTable

Cela vous dira que vous êtes dans PowerShell et vous donnera sa version.

Autres méthodes rapides pour déterminer son shell :

  • Sous Linux/macOS, pour voir le Shell défini par défaut à votre utilisateur :
cat /etc/passwd | grep $USER

Vous verrez une ligne où la dernière partie correspond à votre Shell.

  • Sous Windows, vous pouvez aussi installer WSL (Windows Subsystem for Linux), qui utilise généralement Bash ou Zsh selon votre configuration.

Rôle du shell dans la gestion du PATH et des ENV

Le shell est celui qui lit et applique vos modifications de PATH et de variables d’environnement. Par exemple, lorsque vous tapez :

export PATH=$PATH:/nouveau/chemin

C’est le shell qui met à jour la variable PATH pour la session actuelle. De même, lorsque vous créez une variable ENV :

export MON_PROJET=/home/utilisateur/mon_projet

Le shell mémorise cette variable et la rend disponible pour tous les programmes lancés depuis cette session.

Chaque type de shell a ses propres fichiers de configuration pour rendre ces modifications permanentes :

  • Bash : .bashrc ou .bash_profile
  • Zsh : .zshrc
  • Fish : config.fish
  • PowerShell : Microsoft.PowerShell_profile.ps1

Avantages de connaître son shell

Comprendre le shell que vous utilisez est important pour plusieurs raisons :

  1. Chaque shell possède une syntaxe légèrement différente pour gérer le PATH et les variables ENV.
  2. Certains shells offrent des fonctionnalités avancées pour l’autocomplétion, l’historique ou les scripts, ce qui peut améliorer votre productivité.
  3. Les fichiers de configuration du shell vous permettent de personnaliser votre environnement, de définir vos variables ENV permanentes et d’automatiser des tâches répétitives.

En maîtrisant votre shell, vous devenez capable de tirer pleinement parti du terminal, d’utiliser le PATH et les variables ENV de manière optimale, et d’adapter votre environnement de travail à vos besoins spécifiques.

Pourquoi et comment créer un alias dans le terminal

Un alias est une commande raccourcie ou personnalisée que vous pouvez définir dans votre shell pour remplacer une commande plus longue ou complexe.

Les alias sont particulièrement utiles pour gagner du temps, éviter de taper plusieurs options à chaque fois, ou standardiser des commandes que vous utilisez souvent.

En résumé, un alias agit comme un raccourci : au lieu de taper toute une commande, vous tapez un mot simple que le shell reconnaît et remplace automatiquement par la commande complète.

Pourquoi créer des alias

Créer un alias présente plusieurs avantages :

  • Gain de temps : Au lieu de retaper des commandes longues ou répétitives, un alias vous permet de les exécuter en une seule frappe.
  • Réduction des erreurs : Une commande longue peut être source de fautes de frappe. Un alias permet d’exécuter la commande correcte à chaque fois.
  • Personnalisation de l’environnement : Vous pouvez adapter votre terminal à vos habitudes de travail en créant des alias pour vos outils préférés.

Comment créer un alias

Sur Linux ou MacOS (Bash/Zsh)

Pour créer un alias temporaire, valide uniquement pour la session en cours, vous pouvez utiliser la commande alias :

alias ll='ls -la'

Dans cet exemple, nous créons un alias ll pour remplacer ls -la, qui affiche tous les fichiers du dossier avec leurs détails. Désormais, taper ll dans le terminal exécutera automatiquement ls -la.

Pour que cet alias soit permanent, il faut l’ajouter dans votre fichier de configuration du shell (~/.bashrc ou ~/.zshrc) :

echo "alias ll='ls -la'" >> ~/.bashrc
source ~/.bashrc

Sur Windows (PowerShell)

Sous PowerShell, vous pouvez créer un alias temporaire avec :

Set-Alias ll Get-ChildItem

Ici, ll sera équivalent à Get-ChildItem (l’équivalent de ls). Pour rendre l’alias permanent, il faut l’ajouter dans le fichier de profil PowerShell Microsoft.PowerShell_profile.ps1 :

notepad $PROFILE

Puis ajoutez la ligne :

Set-Alias ll Get-ChildItem

En sauvegardant et en relançant PowerShell, l’alias sera disponible à chaque session.

Exemple concret de création d’alias

Imaginons que vous travaillez régulièrement dans un projet situé dans /home/utilisateur/mes_projets/mon_projet. Au lieu de taper à chaque fois :

cd /home/utilisateur/mes_projets/mon_projet

Vous pouvez créer un alias dans votre shell :

alias projet='cd /home/utilisateur/mes_projets/mon_projet'

Maintenant, il vous suffit de taper projet dans le terminal pour accéder directement à votre dossier de projet. Ce type d’alias est particulièrement pratique pour les développeurs ou toute personne travaillant sur plusieurs projets avec des chemins longs.

  • Choisissez des noms courts mais explicites pour vos alias afin de vous en souvenir facilement.
  • Documentez vos alias dans votre fichier de configuration pour garder une trace de vos raccourcis.
  • Évitez de créer des alias qui remplacent des commandes système standard si cela peut provoquer des erreurs.
  • Combinez alias et variables d’environnement pour créer des raccourcis encore plus puissants et flexibles.

Nous avons parcouru en profondeur l’univers du terminal afin de vous aider à mieux comprendre et utiliser quatre notions essentielles : PATHENVShell et Alias.

Nous avons vu que le PATH est une variable d’environnement clé qui permet à votre système de savoir où chercher vos programmes, et que les variables ENV influencent directement le comportement du terminal et des applications. Nous avons également expliqué le rôle du Shell, qu’il s’agisse de BashZsh ou encore PowerShell, et la manière de savoir lequel est utilisé par votre système d’exploitation (Linux, MacOS ou Windows). Enfin, nous avons abordé la création d’Alias, un outil pratique pour gagner du temps et personnaliser votre environnement de travail.

Ces notions ne sont pas seulement théoriques : elles offrent de véritables avantages pratiques. En les maîtrisant, vous optimisez vos flux de travail, gagnez en efficacité et adaptez votre terminal à vos besoins, que vous soyez débutant ou développeur confirmé. Bien sûr, elles ont aussi des limites, mais leur flexibilité en fait des alliées indispensables dans votre quotidien numérique.

Comprendre le PATH, les variables ENV, le type de Shell que vous utilisez et la puissance des Alias, c’est poser les bases d’une maîtrise avancée de votre terminal, que ce soit sur LinuxMacOS ou Windows.