Aller au contenu

L'introduction au Shell Bash

1. Objectif du cours

Fournir une première approche de Bash pour comprendre son rôle comme shell et langage de scripting et permettre d'exécuter et d'automatiser des commandes simples. Initier aux vérifications de base et aux commandes élémentaires présentées dans le cours.

2. Notions et définitions essentielles

  • Bash : Bourne Again Shell, un shell Unix et un langage de scripting.
  • Script : ensemble de commandes exécutées par le système d'exploitation ou une application.
  • Shell : programme offrant une interface en ligne de commande pour contrôler l'ordinateur.
  • Librairie : collection de routines prêtes à l'emploi pour différents programmes.
  • SSH (Secure Shell) : protocole de communication sécurisé permettant un accès distant.

3. Fonctionnement et principes

Bash fonctionne en mode interactif (saisie de commandes dans un terminal) et en mode script (fichiers contenant des commandes exécutées automatiquement). Il sert aussi bien à l'usage ponctuel qu'à l'automatisation d'opérations répétitives. Bash est multiplateforme (présent sur la plupart des distributions Linux, disponible aussi sous Windows et en alternative sur macOS) et permet d'interagir avec des ressources locales ou distantes (via SSH). Les commandes peuvent être enregistrées dans des fichiers texte pour suivi/audit. Le pipe (|) permet de connecter des processus et d'exécuter des traitements en chaîne (co-processus).

4. Commandes et manipulations

Regroupées par procédure : - Vérifier la présence de Bash : ps — consulter la sortie pour repérer bash.
- Lancer un script (deux méthodes présentées) : bash script.sh ; ./script.sh — permet d'exécuter un fichier de commandes.
- Rendre un script exécutable : chmod +x script.sh — ajouter le droit d'exécution au fichier.
Commandes courantes de traitement et affichage : - echo — affiche une valeur à l'écran.
- grep — chercher une correspondance de mots dans un fichier.
- sed — substitution/modification de chaîne (outil de traitement de texte).
Autres éléments : - Variables : syntaxe d'affectation sans dollar pour créer (ex. var=3).
- Comparaisons (exemples Bash) : = et != pour comparer noms de fichiers ou utilisateurs.
(Remarque : le cours compare ces commandes/constructs avec leurs équivalents Powershell dans un tableau.)

5. Sécurité et bonnes pratiques

  • Utiliser SSH pour un accès distant sécurisé (SSH = Secure Shell).
  • Conserver les commandes et scripts dans des fichiers texte pour permettre un suivi et des audits.
  • Vérifier les permissions d'exécution des scripts avant de les lancer (le cours explique la nécessité de rendre exécutable si nécessaire).

6. Points essentiels à retenir pour le TSSR

  • Bash est à la fois un shell interactif et un langage de scripting, utile pour l'administration et l'automatisation.
  • On peut stocker et relancer des commandes sous forme de scripts pour répéter ou auditer des actions.
  • Bash est disponible sur de nombreuses plateformes et s'utilise également à distance.
  • Le traitement de texte en ligne de commande (recherche, substitution) est central pour les tâches d'administration.
  • Les permissions des fichiers conditionnent l'exécution d'un script et doivent être contrôlées.
  • L'approche par pipelines (co-processus) facilite le traitement parallèle et la composition d'outils.
  • Connaître la distinction entre syntaxe Bash et équivalents PowerShell est utile lors d'interventions cross-plateforme.
  • Tester l'installation et l'exécution de scripts fait partie des premières vérifications à automatiser.

7. Tableau récapitulatif

Aspect concerné Fait clé à mémoriser
Nature Bash = shell Unix + langage de scripting
Usage principal Interaction directe + automatisation via scripts
Portabilité Disponible sur la plupart des plateformes (Linux, Windows, macOS en alternative)
Accès distant Peut être utilisé à distance grâce à SSH
Audit & traçabilité Les commandes peuvent être stockées dans des fichiers texte pour suivi

8. Vérifications pratiques

  • Vérifier que Bash est présent en inspectant la liste des processus et en repérant bash dans la sortie.
  • Vérifier qu'un script s'exécute correctement en observant la sortie attendue dans le terminal.
  • Vérifier les permissions d'un fichier script et s'assurer qu'il a le droit d'exécution avant de lancer.

9. Flashcards Anki

Qu'est-ce que Bash ? :: Bash est un shell Unix ainsi qu'un langage de scripting.
Que signifie l'acronyme Bash ? :: Bourne Again Shell
Qu'est-ce qu'un script ? :: Un ensemble de commandes exécutées par le système d'exploitation ou par l'application.
Quelle commande permet d'afficher une valeur à l'écran sous Bash ? :: echo
Comment rendre un script exécutable ? :: chmod +x script.sh
Deux façons de lancer un script Bash présentées dans le cours ? :: bash script.sh et ./script.sh
Comment vérifier si Bash est installé selon le cours ? :: En utilisant la commande ps dans un terminal Ubuntu
Comment créer une variable sous Bash selon le cours ? :: var=3
Quel outil permet de chercher une correspondance de mots dans un fichier sous Bash ? :: grep
Quel protocole permet d'utiliser Bash à distance ? :: SSH (Secure Shell)