Les personnages spéciaux de Bash que vous devriez connaître

Les personnages spéciaux de Bash que vous devriez connaître

⌛ Reading Time: 6 minutes

Tous les personnages ne sont pas égaux dans Bash. Certains d’entre eux exécutent des fonctions spéciales, modifient des commandes et nous aident à manipuler des données. C’est pourquoi nous avons compilé la liste suivante avec les caractères spéciaux Bash les plus importants. Lisez la suite pour savoir comment les utiliser et comment ils peuvent vous faciliter la vie quotidienne de Bash.

Séparateur de chemin de dossier (/)

Dans Bash, la barre oblique (/) sépare les parties d’un chemin, les sous-dossiers dans les dossiers. Pour visiter le dossier nommé « images » dans votre dossier personnel, vous devrez utiliser la commande cd comme:

Tout ce qui se trouve après une barre oblique dans l’exemple ci-dessus réside dans ce qui précède la barre oblique.

Répertoire d’accueil (~)

Au lieu de taper le nom complet de votre dossier personnel dans votre terminal Bash, vous pouvez utiliser le caractère tilde (~). Par exemple, pour accéder à votre dossier personnel, utilisez :

Vous pouvez également l’intégrer dans des chemins plus complexes. Par exemple, pour éditer un fichier nommé « mydata.txt » dans le dossier « Personal » de votre répertoire Home, utilisez :

Dossier actuel/au-dessus (.)

Vous pouvez utiliser un seul (.) ou double point (..) pour définir si une action doit être effectuée dans le répertoire courant ou dans celui du dessus, respectivement. Un seul point (.) correspond au dossier actuel tandis qu’un double point (..) correspond au dossier situé au-dessus.

Disons que vous êtes dans le dossier “/home/USERNAME/pictures” et que vous souhaitez exécuter le script appelé “transform_images.sh” dans le même répertoire. Dans ce cas, tapez :

Si, après avoir exécuté le script, vous souhaitez retourner dans le dossier au-dessus de celui dans lequel vous vous trouvez actuellement, tapez :

Cela vous ramènerait du dossier “/home/USERNAME/pictures” à “/home/USERNAME”.

Commentaires et annulations (#)

Le symbole dièse (#) est plus utile lors de l’écriture de scripts Bash car il vous permet d’y ajouter des commentaires pour référence future. Bash ignore tout ce qui suit un symbole de hachage.

Dans le script suivant, la première ligne définit qu’il s’agit d’un script Bash, la seconde est un commentaire ignoré et la troisième est une commande de copie typique :

Les hachages sont utiles même si vous n’écrivez pas de script car ils vous permettent d’annuler des parties d’une commande. Pour voir cela en action, essayez la commande simple suivante :

Ensuite, essayez plutôt ce qui suit :

Vous ne verrez que « je suis » renvoyé dans la deuxième version car le hachage aura annulé tout ce qui a suivi.

Gammes ([])

Vous pouvez définir des plages de caractères en les mettant entre crochets ([]). Pour voir cela en action, disons que vous voulez rechercher des noms de dossier commençant par D ou M. Tapez :

Plage de parenthèses de liste de caractères spéciaux Bash

Peut-être êtes-vous plutôt dans un dossier rempli de sous-dossiers nommés d’après chaque année. Pour copier les dossiers des cinq années précédentes dans /home/USERNAME/backup, utilisation:

Vous pouvez même les simplifier davantage avec un tiret (-) :

Bash itérera de 5 à 9 pour inclure les nombres entre eux.

Redirection (<>)

Utiliser des équerres (<>), vous pouvez rediriger l’entrée ou la sortie d’une commande. Par exemple, la commande suivante :

redirigera la sortie de ls et enregistrez-le dans le fichier “list.txt”.

Notez qu’une double équerre (>>) ajoute la sortie d’une commande dans un fichier. Si vous réexécutez la même commande, elle ajoutera sa sortie à la fin du contenu existant. À remplacer son contenu avec de nouveaux résultats, utilisez un seul crochet à angle droit (>):

Tuyaux (|)

Vous pouvez combiner différentes commandes dans un ensemble plus grand pour obtenir des résultats plus complexes en utilisant des tuyaux (|). Ils sont quelque peu similaires à la redirection (plus sur leurs similitudes et leurs différences ici).

Supposons que vous ayez un énorme fichier avec des milliers d’entrées et que vous vouliez y localiser votre nom. Au lieu de le rechercher dans un éditeur de texte, procédez comme suit :

Bash Special Chars Pipe Into Grep

Dans ce cas, la sortie de “entries.txt” sera redirigée vers le grep commander.

Séparateur de commandes (;)

Bash vous permet d’émettre plusieurs commandes en une seule fois en les séparant par des points-virgules (;). Par exemple, pour copier deux dossiers vers deux destinations différentes avec une seule commande :

Le point-virgule sépare les deux commandes et indique à Bash de les exécuter séquentiellement. Notez que vous pouvez utiliser plus de deux commandes si vous le souhaitez.

Caractères génériques

*Vous avez probablement déjà utilisé l’astérisque (

) dans certaines commandes. Il correspond à n’importe quelle séquence de caractères et permet des actions telles que la copie de tous les fichiers JPG d’un dossier à un autre :?Le point d’interrogation (

) est également un caractère générique dans Bash mais ne correspond qu’à un seul caractère. Par exemple:

La commande ci-dessus copiera tous les fichiers jpg dans les dossiers commençant par “201”. Étant donné que le caractère générique se traduit par n’importe quel caractère alphanumérique, pas seulement des nombres, la commande ci-dessus copie également tout dossier qui pourrait être nommé “201A” ou “201z”.

Lancer en arrière-plan (&)&Vous pouvez exécuter des commandes en tant que processus d’arrière-plan en ajoutant simplement à la commande un symbole esperluette (

): fg Ce qui précède commencera à copier le fichier énorme_fichier.zip et passera immédiatement à l’arrière-plan, vous permettant de continuer à utiliser le terminal. La commande se terminera automatiquement une fois terminée. Si vous souhaitez l’avancer à nouveau, vous pouvez le faire en tapant

suivi de Entrée.

Variables ($)$Le signe dollar (

) vous permet de configurer des variables à utiliser dans vos commandes.  Pour les voir en action, essayez de saisir ce qui suit dans votre terminal :

Variable d’écho de caractères spéciaux Bash

Notez qu’il n’y a pas de signe dollar lors de l’attribution de valeurs aux variables.

Échappées () et guillemets (”)Si vous souhaitez utiliser l’un des caractères spéciaux tels qu’ils sont dans une commande, vous devrez l’échapper. Vous pouvez le faire en faisant précéder le caractère spécial d’une barre oblique inverse ( ! ). Par exemple, si vous avez un fichier avec un nom qui inclut un point d’exclamation, vous devrez taper

à la place, Bash l’interprète comme un point d’exclamation et non comme un caractère spécial.''Une autre façon serait d’utiliser l’un ou l’autre ("") ou entre guillemets (

). En mettant une chaîne entre guillemets, tout caractère spécial qu’elle contient sera traité comme le caractère réel. Il existe également une différence entre les guillemets simples et doubles. Les guillemets simples évalueront la chaîne enfermée comme du texte tandis que les guillemets doubles vous permettent d’utiliser des variables ($) dans la chaîne enfermée.

Emballer

Les personnages ci-dessus ne sont pas les seuls personnages spéciaux de Bash, mais ce sont ceux que nous considérons les plus utiles pour nos aventures quotidiennes dans le terminal. N’oubliez pas de consulter ces raccourcis clavier pour vous déplacer rapidement dans Bash. Faites-nous savoir dans la section commentaires ci-dessous si nous avons manqué un caractère spécial important.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.