Gestion de l'environnement Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Les variables d'environnement Linux sont des paires clé-valeur qui peuvent influencer le fonctionnement des processus sur votre système. Comprendre comment gérer ces variables est essentiel pour les utilisateurs Linux, des débutants aux administrateurs avancés.

Dans ce lab (atelier), vous apprendrez à afficher les variables d'environnement existantes, à créer vos propres variables temporaires, à modifier des variables système importantes telles que PATH, et à rendre vos modifications persistantes d'une session de connexion à l'autre. Ces compétences constituent la base de la gestion de l'environnement Linux et vous aideront à personnaliser votre expérience Linux et à résoudre les problèmes liés à l'environnement.

À la fin de ce lab, vous aurez acquis une expérience pratique des commandes et des techniques nécessaires pour gérer efficacement les variables d'environnement sous Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/source("Script Executing") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/UserandGroupManagementGroup -.-> linux/env("Environment Managing") linux/UserandGroupManagementGroup -.-> linux/export("Variable Exporting") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/echo -.-> lab-271275{{"Gestion de l'environnement Linux"}} linux/source -.-> lab-271275{{"Gestion de l'environnement Linux"}} linux/chmod -.-> lab-271275{{"Gestion de l'environnement Linux"}} linux/cd -.-> lab-271275{{"Gestion de l'environnement Linux"}} linux/mkdir -.-> lab-271275{{"Gestion de l'environnement Linux"}} linux/env -.-> lab-271275{{"Gestion de l'environnement Linux"}} linux/export -.-> lab-271275{{"Gestion de l'environnement Linux"}} linux/nano -.-> lab-271275{{"Gestion de l'environnement Linux"}} end

Affichage des variables d'environnement

Les variables d'environnement stockent des informations utilisables par le système et les applications. Dans cette étape, vous apprendrez à afficher les variables d'environnement existantes sur votre système Linux.

Tout d'abord, créons un répertoire dédié à nos exercices de lab (atelier) :

mkdir -p ~/project/env_lab

Naviguez jusqu'à ce répertoire :

cd ~/project/env_lab

Maintenant, pour afficher toutes les variables d'environnement actuellement définies, utilisez la commande env :

env

Cette commande affiche une liste de toutes les variables d'environnement de votre session actuelle. La sortie ressemblera à ceci :

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
HOME=/home/labex
USER=labex
SHELL=/bin/zsh
...

Chaque ligne affiche le nom d'une variable, suivi d'un signe égal (=), puis de sa valeur. Ces variables définissent divers aspects de votre environnement.

Pour afficher une variable d'environnement spécifique, vous pouvez utiliser la commande echo en préfixant le nom de la variable par un signe dollar ($). Par exemple, pour afficher la valeur de la variable de votre répertoire personnel :

echo $HOME

Cela devrait afficher quelque chose comme :

/home/labex

De même, pour afficher votre utilisateur actuel :

echo $USER

Sortie attendue :

labex

Définition de variables d'environnement temporaires

Les variables d'environnement peuvent être définies temporairement pour la session shell actuelle. Cela est utile lorsque vous avez besoin d'une variable pour une tâche spécifique sans apporter de modifications permanentes à votre système.

Pour définir une variable d'environnement temporaire, utilisez la commande export suivie du nom et de la valeur de la variable :

export TEST_VAR="Hello, Linux"

Cela crée une variable nommée TEST_VAR avec la valeur "Hello, Linux". Pour vérifier que la variable a été correctement définie, utilisez echo :

echo $TEST_VAR

Vous devriez voir :

Hello, Linux

Vous pouvez également définir plusieurs variables à la fois :

export VAR1="First" VAR2="Second"

Vérifiez les deux variables :

echo $VAR1
echo $VAR2

Sortie attendue :

First
Second

Pour voir vos nouvelles variables parmi toutes les variables d'environnement, exécutez :

env | grep VAR

Cela filtrera la sortie pour afficher uniquement les lignes contenant "VAR", par exemple :

TEST_VAR=Hello, Linux
VAR1=First
VAR2=Second

N'oubliez pas que les variables créées de cette manière n'existent que dans la session shell actuelle. Si vous ouvrez une nouvelle fenêtre ou un nouvel onglet de terminal, ces variables ne seront pas disponibles.

Comprendre et modifier la variable PATH

La variable d'environnement PATH est l'une des variables les plus importantes sous Linux. Elle indique au système où chercher les fichiers exécutables lorsque vous tapez une commande.

Tout d'abord, examinez votre PATH actuel :

echo $PATH

Vous verrez une liste de répertoires séparés par des deux-points, similaire à :

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

Lorsque vous tapez une commande, le système recherche dans ces répertoires dans l'ordre jusqu'à ce qu'il trouve un exécutable correspondant.

Maintenant, créons un nouveau répertoire pour nos scripts personnalisés et ajoutons-le au PATH :

mkdir -p ~/project/env_lab/bin

Pour ajouter ce répertoire au début de votre PATH, utilisez :

export PATH=~/project/env_lab/bin:$PATH

Cela ajoute notre nouveau répertoire au début du PATH existant. Vérifiez le changement :

echo $PATH

Maintenant, votre sortie devrait commencer par votre nouveau répertoire :

/home/labex/project/env_lab/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Créons un simple script pour tester notre PATH modifié :

cd ~/project/env_lab/bin

Créez un fichier nommé hello en utilisant l'éditeur nano :

nano hello

Ajoutez le contenu suivant au fichier :

#!/bin/bash
echo "Hello from my custom script!"

Enregistrez le fichier en appuyant sur Ctrl+O, puis Entrée, et quittez avec Ctrl+X.

Rendez le script exécutable :

chmod +x hello

Maintenant, depuis n'importe quel répertoire, vous devriez être en mesure d'exécuter votre script en tapant simplement son nom :

cd ~/project/env_lab
hello

Vous devriez voir :

Hello from my custom script!

Cela démontre comment la variable PATH aide le système à trouver les exécutables et comment vous pouvez la personnaliser pour inclure vos propres répertoires de scripts.

Utilisation des variables d'environnement dans les commandes et les scripts

Les variables d'environnement peuvent être utilisées de diverses manières dans les commandes et les scripts. Dans cette étape, vous allez apprendre à utiliser efficacement les variables d'environnement.

Tout d'abord, créons une nouvelle variable d'environnement avec votre nom :

export MY_NAME="Linux User"

Vous pouvez utiliser cette variable dans les commandes en la préfixant avec $ :

echo "Hello, $MY_NAME!"

Cela devrait afficher :

Hello, Linux User!

Les variables d'environnement peuvent également être utilisées avec d'autres commandes. Par exemple, créons un répertoire portant le nom de notre variable :

mkdir -p ~/project/env_lab/$MY_NAME

Vérifions que le répertoire a été créé :

ls -la ~/project/env_lab/

Vous devriez voir un répertoire nommé "Linux User" dans la sortie.

Maintenant, créons un simple script qui utilise des variables d'environnement :

cd ~/project/env_lab
nano greet.sh

Ajoutez le contenu suivant :

#!/bin/bash

## Utilisez les variables d'environnement existantes
echo "Hello, $MY_NAME!"
echo "Your home directory is $HOME"

## Utilisez une variable passée au script
echo "The current time and date is $(date)"

## Créez une variable locale
local_var="This is a local variable"
echo $local_var

## Exporte une nouvelle variable depuis le script
export GREETING="Have a nice day!"
echo $GREETING

Enregistrez et quittez avec Ctrl+O, Entrée et Ctrl+X.

Rendez le script exécutable :

chmod +x greet.sh

Exécutez le script :

./greet.sh

Vous verrez une sortie similaire à :

Hello, Linux User!
Your home directory is /home/labex
The current time and date is Fri Aug 18 12:34:56 UTC 2023
This is a local variable
Have a nice day!

Après avoir exécuté le script, vérifiez si la variable GREETING existe dans votre environnement :

echo $GREETING

Vous devriez voir :

Have a nice day!

Cela confirme que les variables exportées depuis les scripts deviennent partie intégrante de votre environnement shell, tandis que les variables locales du script ne persistent pas après la fin du script.

Rendre les variables d'environnement persistantes

Jusqu'à présent, toutes les variables d'environnement que nous avons définies seront perdues lorsque vous fermerez votre session de terminal. Dans cette étape, vous allez apprendre à rendre les variables d'environnement persistantes d'une session à l'autre.

Sous Linux, les fichiers de démarrage du shell tels que .bashrc, .zshrc ou .profile sont utilisés pour définir des variables d'environnement persistantes. Étant donné que notre environnement utilise zsh, nous allons utiliser le fichier .zshrc.

Tout d'abord, ouvrons le fichier .zshrc :

nano ~/.zshrc

Naviguez jusqu'à la fin du fichier (utilisez Ctrl+Fin ou les touches fléchées) et ajoutez les lignes suivantes :

## Custom environment variables
export PERSIST_VAR="This variable will persist"
export PATH=$HOME/project/env_lab/bin:$PATH

Enregistrez et quittez avec Ctrl+O, Entrée et Ctrl+X.

Pour appliquer ces modifications sans fermer et rouvrir votre terminal, chargez le fichier :

source ~/.zshrc

Maintenant, vérifiez que votre nouvelle variable est définie :

echo $PERSIST_VAR

Vous devriez voir :

This variable will persist

Maintenant, même si vous fermez et rouvrez votre terminal, cette variable sera toujours disponible.

Pour démontrer cela, simulons la fermeture et la réouverture du terminal en démarrant une nouvelle session de shell :

zsh

Vérifiez si votre variable est toujours disponible :

echo $PERSIST_VAR

Vous devriez toujours voir :

This variable will persist

Quittez ce shell pour revenir à votre session précédente :

exit

Cette méthode d'ajout de variables d'environnement au fichier de configuration de votre shell garantit qu'elles sont disponibles chaque fois que vous vous connectez à votre système.

Pour les variables d'environnement système qui doivent être disponibles pour tous les utilisateurs, les administrateurs peuvent les ajouter aux fichiers dans /etc/profile.d/ ou modifier /etc/environment.

Résumé

Dans ce laboratoire (lab), vous avez appris les bases de la gestion des variables d'environnement sous Linux, qui sont essentielles pour personnaliser votre expérience Linux et contrôler le comportement des applications.

Les concepts clés abordés incluent :

  • Affichage des variables d'environnement avec la commande env et affichage de variables spécifiques avec echo $VARIABLE_NAME
  • Définition de variables d'environnement temporaires à l'aide de la commande export
  • Compréhension et modification de la variable PATH pour contrôler où Linux recherche les programmes exécutables
  • Utilisation des variables d'environnement dans les commandes et les scripts pour rendre votre code plus flexible
  • Rendre les variables d'environnement persistantes en les ajoutant aux fichiers de configuration du shell

Ces compétences constituent la base de la gestion de l'environnement Linux et sont applicables à diverses distributions Linux. Comprendre les variables d'environnement est crucial pour les utilisateurs Linux de tous niveaux, des débutants aux administrateurs et développeurs avancés.

Les variables d'environnement vous aident à personnaliser votre expérience de shell, à contrôler le comportement des applications et à créer des scripts plus flexibles. Au fur et à mesure de votre progression dans le monde Linux, vous constaterez que la bonne gestion de l'environnement devient de plus en plus importante pour des tâches plus complexes telles que le développement logiciel, l'administration système et la résolution de problèmes.