Table des matières
Bash
Bash est un interpréteur de ligne de commande utilisé dans les systèmes basés sur Unix (Linux et Mac). Sous Windows, Bash n'est pas l'interpréteur de ligne de commande par défaut, il faut installer un système Linux pour Windows (voir en bas de page).
Cet outil s'utilise dans un shell, ou terminal et permet de communiquer directement avec le système de son ordinateur en lui envoyant des commandes à exécuter. Pour exécuter une commande en Bash, il faut taper la commande dans un terminal, puis presser la touche Entrée
. Une fenêtre de terminal est une interface texte qui ressemble à ceci :
Commandes de base
On peut avoir accès à une aide décrivant les commandes Bash avec la commande suivante :
info coreutils
Par exemple pour afficher tous les fichiers du dossier où l'on se trouve actuellement, il faut entrer la commande suivante :
ls -a
Pour se déplacer dans ses dossiers, on utilise la commande cd
(pour Change Directory) :
cd mon_dossier
Pour savoir dans quel dossier on se trouve actuellement, il faut utiliser cette commande :
pwd
Pour afficher le contenu d'un fichier dans le terminal on peut utiliser la commande cat
:
cat mon_fichier
Ou encore afficher tous les fichiers portant la même extension. Ici pour afficher tous les fichiers au format HTML d'un dossier :
cat *.html
Bash permet d'afficher du texte à l'aide de la commande echo
. On peut l'associer à des variables que Bash peut interpréter. Par exemple la commande echo Je suis `whoami`. Nous sommes le `date` et nous sommes dans le dossier `pwd`
va remplacer whoami
par le nom de l'utilisateur.ice, date
par la date et l'heure actuelle et pwd
par le dossier où l'on se trouve.
Manipuler des fichiers
Bash permet de manipuler directement les contenus de son ordinateur. On peut par exemple créer des dossiers avec la commande mkdir
:
mkdir mon_nouveau_dossier
On peut aussi créer des fichiers depuis le terminal. Par exemple pour créer un fichier test.txt
:
touch test.txt
Pour modifier un fichier existant on peut l'ouvrir dans un éditeur de texte intégré au terminal avec la commande nano
+ le nom de son fichier. Par exemple, si on a un fichier nommé mon_fichier.txt
, voilà ce qui se passe quand on entre la commande nano mon_fichier.txt
:
On se retrouve alors dans Nano, où on peut modifier le contenu de son fichier, le sauvegarder et quitter. D'ailleurs avec cette commande, on peut directement ouvrir un nouveau fichier dans Nano puis l'enregistrer, ce qui aura pour conséquence de créer le fichier.
Bash permet aussi de combiner plusieurs commandes. Voici comment directement enregistrer du texte écrit dans le terminal dans un fichier :
echo "Bonjour tout le monde" > bonjour.txt
On se retrouve alors avec un fichier bonjour.txt
dans son dossier. Si on l'ouvre, il contient ceci :
On peut aussi interagir avec le contenu d'un fichier en Bash. Si nous avons un fichier abecedaire.txt
qui contient le texte « Bonjour tous les étudiant.e.s du cours Ustensiles numériques », on peut utiliser une commande qui va trier par ordre alphabétique les mots contenus dans le fichier et les afficher ligne par ligne dans le terminal :
cat abecedaire.txt | tr " " "\n" | sort
Utiliser des programmes en ligne de commande
Certains outils ne s'utilisent qu'à travers la ligne de commande. Pour les utiliser, il faut taper en premier dans le terminal le nom de l'outil, puis les commandes qu'on lui demande d'exécuter. Voici par exemple l'outil Figlet, qui permet de générer de l'ASCII art dans le terminal :
On peut aussi enregistrer le résultat de la commande envoyée à Figlet dans un fichier texte avec la commande :
figlet "Bonjour" > figlet.txt
L'outil Espeak est un outil de synthèse vocale en ligne de commande. On peut lui faire prononcer le contenu d'un fichier texte avec :
espeak -f mon_fichier.txt
Pour obtenir une documentation rapide des commandes disponibles pour un outil en ligne de commande, on peut utiliser la commande –help
après le nom de l'outil. Par exemple pour obtenir de l'aide sur Espeak :
espeak --help
Lancer un script Bash
Il est aussi possible en Bash d'utiliser des scripts préalablement écrits (particulièrement utile si le script est long). Pour que ces scripts soient correctement exécutés, il faut qu'ils soient enregistrés avec l'extension .sh
. Voici par exemple un script Bash test.sh
qui nous demande notre prénom et nous répond :
#!/bin/bash read -p "What is your name? " name echo "Enjoy this tutorial, $name"
Pour lancer le script, il faut lancer la commande bash test.sh
.
Ressources pour apprendre
Apprendre les commandes de base :
Apprendre à scripter en Bash :
Installer Linux sous Windows (pour pouvoir utiliser Bash) :