0Pricing
Linux Command Line & Bash Scripting Mastery · Leçon

Expansion du Shell et recherche par motifs

Comprenez comment le Shell développe les commandes, notamment l’expansion des accolades, du tilde et les motifs de recherche de noms de fichiers.

Expansion du Shell et recherche par motifs est une leçon Linux Command Line & Bash Scripting Mastery gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Linux Command Line & Bash Scripting Mastery, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Linux Command Line & Bash Scripting Mastery comprend 4 leçons au total.

Qu’est-ce que l’expansion de l’interpréteur ?

Sous Linux, l’interpréteur joue le rôle de traducteur entre vous et le système d’exploitation. Avant d’exécuter votre commande, il effectue souvent une sorte de « magie » appelée expansion.

L’expansion de l’interpréteur signifie que celui-ci recherche des caractères spéciaux ou des motifs dans votre commande et les remplace par autre chose. Cela se produit avant l’exécution réelle de la commande, ce qui vous évite de saisir du texte et rend les commandes plus puissantes !

Votre répertoire personnel avec le tilde `~`

L’expansion du tilde (~) est un raccourci très pratique. Elle est automatiquement remplacée par le répertoire personnel de l’utilisateur actuel.

Au lieu de saisir /home/yourusername, vous pouvez simplement utiliser ~. C’est particulièrement utile pour naviguer vers des fichiers de votre dossier personnel ou y faire référence.

echo ~
echo ~/Documents

Le tilde pour d’autres utilisateurs

Le tilde ne sert pas uniquement à désigner votre propre répertoire personnel ! Vous pouvez également l’utiliser pour faire référence au répertoire personnel d’un autre utilisateur.

En saisissant ~username, l’interpréteur remplacera cette expression par le répertoire personnel de l’utilisateur indiqué. C’est très pratique pour accéder à des fichiers ou à des configurations partagés.

  • ~root sera remplacé par /root
  • ~guest sera remplacé par /home/guest

Expansion des accolades `{}`

L’expansion des accolades vous permet de générer des chaînes arbitraires. C’est un moyen rapide de créer plusieurs éléments à partir d’un seul motif, sans devoir tous les saisir.

L’interpréteur transforme le contenu placé entre les accolades {} en une liste de mots distincts. C’est très utile pour créer des fichiers ou des répertoires aux noms similaires, ou pour exécuter des commandes sur plusieurs éléments.

echo {apple,banana,cherry}

Plages avec les accolades

Vous pouvez également utiliser l’expansion des accolades pour générer des suites de nombres ou de lettres. Pour cela, placez entre les accolades deux éléments séparés par ...

L’interpréteur génère tous les éléments de la suite, ce qui facilite la création de fichiers ou de répertoires numérotés, ou le parcours d’un ensemble de valeurs.

echo file_{1..3}.txt
echo {a..c}_report.log

Introduction à la génération par motifs

La génération par motifs est la manière dont l’interpréteur fait correspondre des noms de fichiers et des chemins à l’aide de caractères génériques spéciaux. Cela revient à utiliser un « motif de recherche » pour trouver des fichiers.

Lorsque vous saisissez une commande comme ls *.txt, l’interpréteur n’envoie pas *.txt à ls. Il remplace plutôt *.txt par la liste de tous les fichiers correspondants du répertoire actuel, puis transmet cette liste à ls.

Tout faire correspondre avec `*`

L’astérisque (*) est le caractère générique le plus courant. Il correspond à zéro caractère ou plus dans un nom de fichier.

Vous pouvez l’utiliser pour faire correspondre toute séquence de caractères, ce qui le rend extrêmement polyvalent pour sélectionner des fichiers à partir d’une partie de leur nom.

mkdir -p glob_test
touch glob_test/report.txt glob_test/image.jpg glob_test/document.pdf
echo "Files ending in .txt:"
ls glob_test/*.txt
rm -rf glob_test

Faire correspondre un caractère avec `?`

Le caractère générique point d’interrogation (?) correspond à exactement un caractère.

C’est utile lorsque vous connaissez la longueur exacte de la partie du nom de fichier à faire correspondre, mais pas le caractère lui-même.

mkdir -p glob_test
touch glob_test/file1.log glob_test/file2.log glob_test/fileA.log
echo "Files matching file?.log:"
ls glob_test/file?.log
rm -rf glob_test

Caractères précis `[]`

Vous pouvez utiliser des crochets ([]) pour faire correspondre n’importe quel caractère unique appartenant à un ensemble indiqué.

Cela permet une correspondance plus précise qu’avec ?. Vous pouvez énumérer des caractères individuels ou indiquer une plage (par exemple, [a-z] pour toute lettre minuscule, ou [0-9] pour tout chiffre).

mkdir -p glob_test
touch glob_test/photoA.png glob_test/photoB.png glob_test/photoC.png glob_test/photoD.png
echo "Files matching photo[A-C].png:"
ls glob_test/photo[A-C].png
rm -rf glob_test

Combinaisons de motifs

Vous pouvez combiner différents motifs, et même l’expansion des accolades, pour sélectionner des fichiers avec précision.

L’interpréteur traite ces expansions de gauche à droite, créant des motifs complexes qui correspondent exactement à vos besoins.

mkdir -p glob_test
touch glob_test/data_01.csv glob_test/data_02.txt glob_test/data_a.log glob_test/info_01.txt
echo "Files matching data_[0-9]*.{txt,csv}:"
ls glob_test/data_[0-9]*.{txt,csv}
rm -rf glob_test

Vérification rapide

Laquelle des commandes suivantes répertoriera les fichiers nommés report1.doc, report2.doc et report3.doc, mais pas reportA.doc ?

Récapitulatif et prochaines étapes

Excellent travail ! Vous avez appris comment l’interpréteur développe les commandes avant même leur exécution. Cette « magie » rend votre travail en ligne de commande beaucoup plus efficace.

  • Expansion du tilde (~) : raccourci pour les répertoires personnels.
  • Expansion des accolades ({}) : génère des chaînes ou des suites personnalisées.
  • Génération par motifs (*, ?, []) : fait correspondre des noms de fichiers à l’aide de caractères génériques pour permettre une sélection puissante fondée sur des motifs.

Comprendre ces expansions est essentiel pour écrire des commandes efficaces et concises. Continuez à vous entraîner !

Questions Fréquemment Posées

La leçon « Expansion du Shell et recherche par motifs » est-elle gratuite ?

Oui — le texte complet de « Expansion du Shell et recherche par motifs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Linux Command Line & Bash Scripting Mastery, passe à CoddyKit PRO. Le cours Linux Command Line & Bash Scripting Mastery comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Expansion du Shell et recherche par motifs » ?

Comprenez comment le Shell développe les commandes, notamment l’expansion des accolades, du tilde et les motifs de recherche de noms de fichiers. Tu pratiques Linux Command Line & Bash Scripting Mastery avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Linux Command Line & Bash Scripting Mastery ?

Aucune expérience préalable n'est requise. Linux Command Line & Bash Scripting Mastery sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Expansion du Shell et recherche par motifs » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Linux Command Line & Bash Scripting Mastery ?

Oui. Chaque leçon Linux Command Line & Bash Scripting Mastery inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Gestion des tâches (bg, fg, jobs)
  2. Expansion du Shell et recherche par motifs
  3. Alias et invites personnalisées
  4. Fonctions du shell et extraits réutilisables
← Retour à Linux Command Line & Bash Scripting Mastery