La fonctionnalité la plus puissante du shell Linux Bash est sa capacité à contourner les fichiers et à rediriger efficacement leurs entrées et sorties. Linux utilise des caractères spéciaux ou des symboles appelés métacaractères qui ajoutent une signification particulière à une commande shell en ce qui concerne la recherche de fichiers et la connexion des commandes.

Les métacaractères sont utiles pour lister, supprimer et copier des fichiers sous Linux. Cependant, la fonction de chaque métacaractère diffère selon la commande avec laquelle vous l'utilisez.

Cet article fournit un guide détaillé sur les différents types de métacaractères sous Linux. Enfin, nous expliquons comment ces caractères spéciaux aident à connecter et à développer des commandes.

Le shell Linux vous permet d'enregistrer les frappes lors de la saisie de commandes en utilisant des métacaractères entre les fichiers ou les noms de répertoire. Ces caractères vous aident à faire référence à un groupe de fichiers ou à un répertoire sur lequel lister, déplacer ou effectuer d'autres activités.

instagram viewer

Voici quelques métacaractères de correspondance de fichiers que le shell Linux peut interpréter :

  • * (astérisque): Correspond à une ou plusieurs occurrences d'un caractère
  • ? (Point d'interrogation): correspond à un seul caractère ou à une occurrence de motif
  • [ ] (Crochets): correspond à n'importe quel nombre, symbole ou alphabet séparés par des tirets spécifiés à l'intérieur des crochets

Un moyen idéal de pratiquer les métacaractères sous Linux est de créer un nouveau dossier vide dans le /tmp annuaire.

sudo mkdir /tmp/meta

Naviguez maintenant dans le /tmp/meta répertoire utilisant la commande cd et créer de nouveaux fichiers vides en utilisant le toucher, comme suit:

touchez apple.txt cidre.sh vinaigre.php cat.txt citron.txt jus.sh poisson-chat.sh 

Utilisez les commandes suivantes pour tester le "*" métacaractère et afficher les sorties :

ls c*
Sortir:
poisson-chat.sh cat.txt cidre.sh
ls c*h
Sortir:
poisson-chat.sh cidre.sh
ls *r*
Sortir:
vinaigre de cidre.sh.php
sudo rm *p*

La commande susmentionnée supprimera tous les fichiers contenant la lettre "p" dans son nom. Vous pouvez vérifier la modification à l'aide de la commande ls comme suit :

ls
Sortir:
poisson-chat.sh cat.txt cidre.sh jus.sh citron.txt

Voici quelques exemples de "?" métacaractère pour la correspondance de modèle :

Est-ce un ?*
Sortir:
pomme.txt
Est-ce que c? t*
Sortir:
poisson-chat.sh chat.txt

La dernière commande correspond à tout fichier commençant par c et a t comme troisième lettre (cat.txt, catfish.sh, etc.).

Utilisez maintenant le [un V]* avec la commande ls pour lister tous les fichiers commençant par une ou v, comme suit:

ls [av]*
Sortir:
apple.txt vinaigre.sh

Vous pouvez modifier la commande ci-dessus pour ne lister que les fichiers qui se terminent par la lettre t:

ls [ac]*[t]
Sortir:
apple.txt poisson-chat.txt chat.txt

De même, vous pouvez utiliser les lettres séparées par des tirets pour définir des plages et répertorier les fichiers comme suit :

ls [a-j]*
Sortir:
apple.txt poisson-chat.sh chat.txt cidre.sh jus.sh

Pour une meilleure compréhension de la redirection dans Bash, chaque processus sous Linux possède des descripteurs de fichiers, appelés entrée standard (standard/0), sortie standard (sortie standard/1) et l'erreur standard (stderr/2). Ils déterminent l'origine de l'entrée de commande et décident où envoyer la sortie et les messages d'erreur.

Les métacaractères de redirection vous aident à modifier ces actions en redirigeant le flux d'E/S de contenu. Généralement, le shell Linux lit l'entrée de commande à partir du clavier et écrit la sortie à l'écran. La redirection d'entrée permet à la commande de lire le contenu d'un fichier au lieu d'un clavier, tandis que la redirection de sortie enregistre la sortie de la commande dans un fichier.

En d'autres termes, les métacaractères de redirection de fichiers Linux permettent de rediriger le contenu vers (>) et de (<) les fichiers. Les trois principaux métacaractères de redirection sont :

  1. <: dirige le contenu du fichier vers la commande. Par exemple, la sortie de la commande pour moins .bashrc est le même que moins < .bashrc.
  2. >: dirige la sortie de la commande vers le fichier. La commande ls /etc > listes.txt enregistre la sortie dans le fichier lists.txt.
  3. >>: ajoute la sortie de la commande au contenu du fichier.

wc signifie nombre de mots et vous pouvez l'utiliser pour afficher la différence entre le fichier avant et après l'avoir ajouté à la sortie.

En rapport: Comprendre les E/S standard sous Linux

Le métacaractère d'extension d'accolade vous permet de développer les caractères entre les répertoires, les noms de fichiers ou d'autres arguments de ligne de commande. Par exemple, vous pouvez créer un nouveau répertoire entretoise à l'intérieur de /tmp dossier et créez un ensemble de fichiers à l'aide de la commande tactile comme suit :

sudo mkdir /tmp/brace; cd /tmp/accolade
test tactile{1,2,3,4,5}

Maintenant, vous pouvez vérifier si touch a créé les fichiers ou non à l'aide de la commande ls.

ls
Sortir:
test1 test2 test3 test4 test5

Vous pouvez spécifier plusieurs listes pour générer des noms de fichiers en fonction des combinaisons des éléments de la liste. Par example:

touche {pomme, cidre, vinaigre}.{fruit, liquide, acide}
touchez {a, b, c}.{1,2,3}

La dernière commande créera les fichiers suivants dans le répertoire courant :

La première commande utilise deux ensembles d'accolades pour associer les noms de fichiers de chaque ensemble à l'autre. Vous pouvez également écrire la dernière commande comme touchez {a..c}.{1..3} pour spécifier la plage entre a et c et 1 et 3.

En plus de créer des fichiers, vous pouvez également utiliser l'extension des accolades pour supprimer ou copier des fichiers vers d'autres emplacements.

Voici un tableau de certains métacaractères incontournables pour la connexion et l'expansion de commandes avec leurs noms, leur description et des exemples pour s'entraîner :

Nom La description Exemple
Tuyau (|) Connecte la sortie de la commande comme entrée à l'autre commande. cat /etc/passwd | racine grep
Point-virgule (;) Permet l'exécution de commandes séquentielles, l'une après l'autre. cd /etc; ls -la; chmod +x /tmp/script.php
Esperluette (&) Exécute les processus ou les commandes en arrière-plan. find / -perm -u=s -type f &
Dollars ($) Développe l'expression arithmétique et la passe au shell echo "le nombre total de fichiers dans ce répertoire est: $(ls | wc -l)"
Redirection nulle (2>) Dirige les messages d'erreur standard vers le fichier /dev/null votre_commande 2>/dev/null
circonflexe (^) Correspond à tout modèle commençant par l'expression suivie de ^ cd /etc/ssh; ls | grep ^s

Les métacaractères Linux sont également connus sous le nom de caractères génériques qui ajoutent une signification particulière aux commandes et contrôlent leur comportement. Les métacaractères optimisent les performances de travail d'un utilisateur dans un environnement productif tout en travaillant autour de fichiers/répertoires et en connectant/étendant les commandes du shell Linux.

En outre, les métacaractères sont également les éléments constitutifs des expressions régulières. En outre, l'apprentissage des métacaractères et de leur utilisation est une compétence importante à avoir si vous souhaitez devenir un utilisateur pro-Linux.

Le guide du débutant sur les expressions régulières avec Python

Vous voulez accélérer votre flux de travail Python avec quelques commandes simples? Les expressions régulières sont vos amies.

Lire la suite

PartagerTweeterE-mail
Rubriques connexes
  • Linux
  • Linux élémentaire
  • Shell Linux Bash
A propos de l'auteur
Rumaisa Niazi (5 articles publiés)

Rumaisa est un écrivain indépendant à MUO. Elle a porté plusieurs chapeaux, de mathématicienne à passionnée de la sécurité de l'information, et travaille maintenant en tant qu'analyste SOC. Ses intérêts incluent la lecture et l'écriture sur les nouvelles technologies, les distributions Linux et tout ce qui concerne la sécurité de l'information.

Plus de Rumaisa Niazi

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner