Exercices Shell Linux : Tutoriel Pas à Pas pour Débutants
Exercices Shell Linux : Tutoriel Pas à Pas pour Débutants
Vous souhaitez maîtriser le shell Linux pour automatiser des tâches, gérer des serveurs ou optimiser vos workflows DevOps ? Ce tutoriel vous guide pas à pas à travers des exercices pratiques, adaptés aux débutants comme aux professionnels. Avec 871 labs interactifs disponibles sur LabsDevOps, dont 112 dédiés au shell, vous pourrez pratiquer directement dans votre navigateur, sans installation.
À la fin de ce guide, vous saurez :
- Naviguer dans le système de fichiers avec des commandes de base
- Manipuler des fichiers et dossiers efficacement
- Créer et exécuter des scripts shell simples
- Automatiser des tâches répétitives
- Déboguer des erreurs courantes
1. Prérequis : Ce qu'il faut savoir avant de commencer
Avant de plonger dans les exercices, voici ce que vous devez connaître ou préparer :
👉 À lire aussi : Maîtriser Bash Linux : Exercices Pas à Pas pour Débutants
Connaissances de base
- Système d'exploitation : Ce tutoriel s'applique à Linux (Ubuntu, Debian, CentOS, etc.). Si vous utilisez Windows, installez WSL (Windows Subsystem for Linux) ou utilisez les environnements Docker isolés de LabsDevOps.
- Terminal : Ouvrez un terminal (Ctrl+Alt+T sur Ubuntu) ou accédez à un lab interactif sur LabsDevOps pour pratiquer sans installation.
- Shell par défaut : Les commandes de ce tutoriel fonctionnent avec Bash, le shell le plus utilisé sur Linux. Vérifiez votre shell avec
echo $SHELL.
Outils recommandés
- Éditeur de texte : Utilisez
nano,vimougeditpour écrire des scripts. LabsDevOps propose des labs avec des éditeurs intégrés. - Compte LabsDevOps : Avec la formule Pro à 19,90€/mois, accédez à des labs avancés et à l'agent IA Alex pour vous guider. Des labs gratuits sont aussi disponibles pour découvrir la plateforme.
Conseil pratique
Si vous débutez, commencez par les labs gratuits de LabsDevOps pour vous familiariser avec l'environnement. Les 27 parcours techniques de la plateforme, comme Linux ou Docker, incluent des exercices progressifs pour renforcer vos compétences.
2. Étape 1 : Découvrir les commandes de base du shell
Les commandes de base sont le fondement du shell Linux. Voici les plus utiles pour commencer, avec des exemples concrets.
Commandes essentielles
| Commande | Description | Exemple |
|---|---|---|
pwd |
Affiche le répertoire courant (chemin absolu) | pwd → /home/utilisateur |
ls |
Liste les fichiers et dossiers du répertoire courant | ls -l (affiche en liste détaillée) |
cd |
Change de répertoire | cd /var/log (se déplace dans /var/log) |
mkdir |
Crée un dossier | mkdir exercices (crée un dossier exercices) |
rm |
Supprime un fichier ou dossier | rm fichier.txt (supprime fichier.txt) |
Exercice pratique
Ouvrez un terminal ou un lab LabsDevOps et suivez ces étapes :
- Vérifiez votre répertoire courant avec
pwd. - Listez les fichiers avec
ls -l. - Créez un dossier
shell_exercicesavecmkdir shell_exercices. - Déplacez-vous dans ce dossier avec
cd shell_exercices. - Vérifiez que vous êtes bien dans le bon dossier avec
pwd.
Astuce
Utilisez la touche Tab pour l'autocomplétion des noms de fichiers ou dossiers. Par exemple, tapez cd she puis Tab pour compléter automatiquement en cd shell_exercices.
3. Étape 2 : Manipuler des fichiers et dossiers
Savoir créer, modifier et supprimer des fichiers est crucial pour travailler efficacement avec le shell. Voici comment procéder.
Créer et éditer des fichiers
- Créer un fichier vide :
touch fichier.txt. - Éditer un fichier : Utilisez
nano fichier.txtpour ouvrir l'éditeur Nano. Écrivez du texte, puis sauvegardez avec Ctrl+O et quittez avec Ctrl+X. - Afficher le contenu d'un fichier :
cat fichier.txtouless fichier.txtpour une lecture paginée.
Copier, déplacer et supprimer
- Copier un fichier :
cp fichier.txt copie_fichier.txt. - Déplacer ou renommer :
mv fichier.txt nouveau_nom.txtoumv fichier.txt /chemin/destination/. - Supprimer un fichier :
rm fichier.txt. Pour supprimer un dossier et son contenu :rm -r dossier/.
Exercice pratique
Dans le dossier shell_exercices créé précédemment :
- Créez un fichier
notes.txtavectouch notes.txt. - Éditez-le avec Nano et ajoutez le texte :
Bonjour, ceci est un exercice shell.. - Créez un dossier
archivesavecmkdir archives. - Copiez
notes.txtdansarchivesaveccp notes.txt archives/. - Renommez le fichier original en
notes_original.txtavecmv notes.txt notes_original.txt.
Astuce
Pour éviter les erreurs de suppression, utilisez l'option -i avec rm pour demander une confirmation : rm -i fichier.txt. Sur LabsDevOps, les environnements Docker isolés permettent de pratiquer sans risque de supprimer des fichiers importants.
4. Étape 3 : Utiliser les permissions et les droits d'accès
Les permissions sont un aspect fondamental de la sécurité Linux. Elles déterminent qui peut lire, écrire ou exécuter un fichier ou dossier.
Comprendre les permissions
Les permissions sont représentées par une série de 10 caractères, comme -rw-r--r--. Voici leur signification :
- Le premier caractère indique le type :
-pour un fichier,dpour un dossier. - Les 3 caractères suivants (
rw-) sont les permissions du propriétaire. - Les 3 suivants (
r--) sont celles du groupe. - Les 3 derniers (
r--) sont celles des autres utilisateurs.
Les permissions possibles sont :
r: Lecture (read)w: Écriture (write)x: Exécution (execute)-: Aucune permission
Modifier les permissions
Utilisez la commande chmod pour modifier les permissions. Voici deux méthodes :
- Méthode symbolique :
chmod u+x fichier.txt(ajoute le droit d'exécution pour le propriétaire). - Méthode numérique :
chmod 755 fichier.txt(donne tous les droits au propriétaire et lecture/exécution aux autres).
Voici un tableau des valeurs numériques :
| Valeur | Permission |
|---|---|
| 4 | Lecture (r) |
| 2 | Écriture (w) |
| 1 | Exécution (x) |
Exercice pratique
- Créez un fichier
script.shavectouch script.sh. - Vérifiez ses permissions avec
ls -l script.sh(vous devriez voir-rw-r--r--). - Ajoutez le droit d'exécution pour le propriétaire :
chmod u+x script.sh. - Vérifiez à nouveau les permissions : vous devriez voir
-rwxr--r--. - Modifiez les permissions pour donner tous les droits au propriétaire et lecture/exécution aux autres :
chmod 755 script.sh.
Astuce
Pour voir les permissions en détail, utilisez stat fichier.txt. Sur LabsDevOps, les labs sur Kubernetes et Ansible incluent des exercices avancés sur les permissions, idéaux pour approfondir vos connaissances.
5. Étape 4 : Créer et exécuter des scripts shell
Les scripts shell permettent d'automatiser des tâches en enchaînant des commandes. Voici comment créer et exécuter votre premier script.
Structure d'un script shell
Un script shell est un fichier texte contenant des commandes. Voici un exemple simple :
#!/bin/bash
# Ceci est un commentaire
echo "Bonjour, monde !"
#!/bin/bash: Indique que le script doit être exécuté avec Bash.#: Début d'un commentaire.echo: Affiche du texte à l'écran.
Créer et exécuter un script
- Créez un fichier
bonjour.shavecnano bonjour.sh. - Ajoutez le contenu suivant :
#!/bin/bash echo "Bonjour, monde !" - Sauvegardez et quittez Nano.
- Rendez le script exécutable :
chmod +x bonjour.sh. - Exécutez le script :
./bonjour.sh(vous devriez voirBonjour, monde !).
Variables et arguments
Les scripts peuvent utiliser des variables et des arguments pour être plus dynamiques. Voici un exemple :
#!/bin/bash
nom=$1
echo "Bonjour, $nom !"
Exécutez ce script avec : ./bonjour.sh Alice (vous verrez Bonjour, Alice !).
Exercice pratique
- Créez un script
calcul.shqui prend deux nombres en arguments et affiche leur somme.#!/bin/bash nombre1=$1 nombre2=$2 somme=$((nombre1 + nombre2)) echo "La somme de $nombre1 et $nombre2 est $somme." - Rendez-le exécutable :
chmod +x calcul.sh. - Exécutez-le avec :
./calcul.sh 5 3(vous devriez voirLa somme de 5 et 3 est 8.).
Astuce
Pour déboguer un script, utilisez bash -x script.sh pour afficher chaque commande avant son exécution. Les parcours LabsDevOps sur Python et CI/CD incluent des labs pour intégrer des scripts shell dans des pipelines d'automatisation.
6. Étape 5 : Automatiser des tâches avec des scripts avancés
Une fois à l'aise avec les bases, vous pouvez créer des scripts plus complexes pour automatiser des tâches répétitives. Voici quelques techniques avancées.
Boucles et conditions
Les boucles et conditions permettent de rendre vos scripts plus intelligents. Voici des exemples :
- Condition if :
#!/bin/bash if [ $1 -gt 10 ]; then echo "Le nombre est supérieur à 10." else echo "Le nombre est inférieur ou égal à 10." fi - Boucle for :
#!/bin/bash for i in {1..5}; do echo "Itération $i" done - Boucle while :
#!/bin/bash compteur=1 while [ $compteur -le 5 ]; do echo "Compteur : $compteur" compteur=$((compteur + 1)) done
Exercice pratique
Créez un script sauvegarde.sh qui :
- Crée un dossier
sauvegardess'il n'existe pas. - Copie tous les fichiers
.txtdu répertoire courant danssauvegardesavec la date du jour dans leur nom.
Voici le script :
#!/bin/bash
# Crée le dossier de sauvegarde s'il n'existe pas
mkdir -p sauvegardes
# Récupère la date du jour
date_du_jour=$(date +%Y%m%d)
# Copie les fichiers .txt dans le dossier sauvegardes avec la date
for fichier in *.txt; do
cp "$fichier" "sauvegardes/${fichier%.*}_$date_du_jour.txt"
done
echo "Sauvegarde terminée !"
Exécutez-le avec ./sauvegarde.sh. Vérifiez que les fichiers ont bien été copiés dans sauvegardes.
Astuce
Pour planifier l'exécution automatique de vos scripts, utilisez cron. Par exemple, pour exécuter sauvegarde.sh tous les jours à 2h du matin, ajoutez cette ligne à votre crontab : 0 2 * * * /chemin/vers/sauvegarde.sh. Les labs LabsDevOps sur Jenkins et CI/CD montrent comment intégrer ces scripts dans des pipelines d'automatisation.
7. Erreurs fréquentes à éviter
Voici les erreurs les plus courantes rencontrées par les débutants en shell Linux, et comment les éviter.
📖 Découvrez également : Script Shell Linux : Exercice Corrigé Pas à Pas (2026)
1. Oublier les permissions d'exécution
Erreur : Vous créez un script mais obtenez Permission denied lors de son exécution.
Solution : Utilisez chmod +x script.sh pour rendre le script exécutable. Vérifiez les permissions avec ls -l script.sh.
2. Utiliser des espaces incorrectement
Erreur : Une condition comme if[$1 -gt 10] génère une erreur.
Solution : Ajoutez des espaces autour des crochets : if [ $1 -gt 10 ]. Les espaces sont obligatoires en shell.
3. Ne pas gérer les chemins relatifs/absolus
Erreur : Votre script fonctionne dans un répertoire mais pas dans un autre.
Solution : Utilisez des chemins absolus (/home/utilisateur/fichier.txt) ou des variables comme $PWD pour le répertoire courant. Sur LabsDevOps, les environnements Docker isolés évitent ce problème en fournissant un espace de travail standardisé.
4. Ignorer les erreurs dans les scripts
Erreur : Votre script continue même si une commande échoue.
Solution : Ajoutez set -e au début de votre script pour qu'il s'arrête en cas d'erreur. Utilisez aussi || pour gérer les erreurs : commande || echo "Échec de la commande".
5. Ne pas tester les scripts avant automatisation
Erreur : Vous planifiez un script avec cron sans l'avoir testé manuellement.
Solution : Testez toujours vos scripts manuellement avant de les automatiser. Utilisez bash -x script.sh pour déboguer. Les labs LabsDevOps sur CI/CD incluent des bonnes pratiques pour tester les scripts avant déploiement.
8. Récapitulatif et prochaines étapes
Félicitations ! Vous avez maintenant les bases pour utiliser le shell Linux efficacement. Voici un récapitulatif des compétences acquises :
- Naviguer dans le système de fichiers avec
cd,ls,pwd. - Manipuler des fichiers et dossiers avec
touch,cp,mv,rm. - Gérer les permissions avec
chmodetchown. - Créer et exécuter des scripts shell simples et avancés.
- Automatiser des tâches avec des boucles et conditions.
Prochaines étapes
Pour aller plus loin, voici quelques pistes :
- Parcours LabsDevOps : Explorez les 27 parcours techniques de la plateforme, comme Linux, Docker ou Kubernetes. La formule Premium à 29,90€/mois donne accès à tous les labs, y compris ceux sur l'automatisation avec Ansible et Terraform.
- Labs interactifs : Pratiquez avec les 871 labs interactifs disponibles. Les environnements Docker isolés permettent de tester sans risque.
- Agent IA Alex : Utilisez l'agent pédagogique inclus dans les formules Pro et Premium pour obtenir de l'aide en temps réel.
- Communauté : Rejoignez les 500+ utilisateurs inscrits sur LabsDevOps pour échanger des astuces et poser vos questions.
Ressources utiles
- Labs gratuits LabsDevOps : Pour découvrir la plateforme sans engagement.
- Parcours Linux : Un parcours complet pour maîtriser Linux, incluant des exercices avancés sur le shell.
- Parcours Docker : Apprenez à utiliser le shell pour gérer des conteneurs Docker.
Questions fréquentes
Pourquoi apprendre le shell Linux en 2026 ?
Le shell Linux reste essentiel en 2026 pour automatiser des tâches, gérer des serveurs cloud (AWS, OpenStack) et optimiser les workflows DevOps. Sur LabsDevOps, 68% des labs interactifs (871 disponibles) utilisent des commandes shell, notamment pour Docker, Kubernetes et Ansible. C'est un prérequis pour les parcours techniques comme l'administration système ou la CI/CD.
Quelle est la différence entre Bash et Shell ?
Le shell est une interface en ligne de commande générique, tandis que Bash (Bourne-Again SHell) est une implémentation spécifique très répandue. Sur Linux, Bash est le shell par défaut. Les commandes de ce tutoriel fonctionnent avec Bash, compatible avec les 871 labs interactifs de LabsDevOps, y compris ceux dédiés à AWS et OpenStack.
Comment pratiquer sans installer Linux ?
LabsDevOps propose des environnements Docker isolés directement dans le navigateur, sans installation. Avec la formule Pro à 19,90€/mois, accédez à 871 labs interactifs, dont 112 dédiés au shell Linux. L'agent IA Alex inclus guide les débutants pas à pas, idéal pour les étudiants ou professionnels en reconversion.
Quels sont les métiers qui utilisent le shell Linux ?
Les administrateurs systèmes, ingénieurs DevOps, développeurs backend et spécialistes cloud (AWS, OpenStack) utilisent quotidiennement le shell. Les parcours LabsDevOps comme Kubernetes ou Ansible intègrent des scripts shell. Avec 500+ utilisateurs inscrits, la plateforme forme aussi des professionnels en reconversion vers ces métiers.
Peut-on automatiser des tâches avec le shell ?
Oui, le shell excelle pour automatiser des tâches répétitives comme les sauvegardes, les déploiements ou la gestion de fichiers. Les labs LabsDevOps sur CI/CD (Jenkins) et Terraform montrent comment intégrer des scripts shell dans des pipelines. Les formules Premium (29,90€/mois) incluent des parcours avancés sur l'automatisation avec Bash.