🐧
Unix Shell
  • Unix Shell
  • Introduction
    • Introduction
      • 🎉Installation Party
  • 💻L'invite de commandes
    • L'invite de commandes
      • Ouvrir une invite de commandes
      • L'interprète
      • Mes premières commandes
      • Exercice avec ls
      • Raccourcis bash
  • Fichiers et repertoires
    • 📂Fichiers et répertoires
      • Navigation
      • Fichiers : Exercice
      • Edition des fichiers
      • Fichiers spéciaux
  • Recherches
    • 🔍Recherches
      • find
      • Exercice avec find
  • Droits
    • 🔨Droits et permissions
      • Qui
      • Quoi
      • Préciser les droits
  • Packages / Réseau / internet
    • 🌎Le monde extérieur
      • Installer des packages supplémentaires
      • Télécharger des fichiers
      • SSH : Ouvrir un SHELL à distance
      • SCP : Transférer des fichiers
      • Parenthèse : Cryptographie
  • Gestion de la machine
    • 📈Gestion
      • Disques / partitions
      • Exercice : formater et monter une volume (mastère)
      • Les processus
      • Réseau
  • Configurer Apache
    • 🏅Exercice : configurer votre espace web
  • Pipes et redirections
    • 🌊Pipes et redirections
      • Redirections des fichiers
      • grep et les expressions régulières
      • sed : chercher et remplacer
      • awk
  • Scripts
    • 🤖Scripts
      • Exécuter un script
      • Variables
      • Conditions
      • Boucles
      • Fonctions
      • Exercice : un script CGI pour Apache
  • Git
    • 🤖GIT
      • Commandes
      • Branches
      • Déploiement automatique
  • Docker
    • 🐳Docker
      • Lancer des containers
      • Volumes
      • Docker compose
Propulsé par GitBook
Sur cette page
  • Interprétation des instructions
  • Les interprètes
  • Un interprète dans un interprète
  1. L'invite de commandes
  2. L'invite de commandes

L'interprète

PrécédentOuvrir une invite de commandesSuivantMes premières commandes

Dernière mise à jour il y a 1 an

On peut commencer à taper des instructions, et voir les résultats.

Commencez par le suivant :

echo "Hello world!"

Qu'est-ce qui se passe ?

Ensuite, essayez :

cd /
ls -l

Est-ce que vous comprenez les résultats ?

Interprétation des instructions

Les interprètes

Quand on lance une invite de commandes, un interprète est lancé. C'est un logiciel qui va nous permettre de rédiger des instructions en tant que texte.

En toute simplicité, un interprète reçoit un flux de texte. Dès qu'on envoie le caractère "Entrée", l'interprète sais qu'il faut lancer son opération sur tous les caractères qui le précèdent.

Il y a plusieurs interprètes en existence :

  • sh : le « bourne shell », un shell suivant la norme POSIX

  • bash : le « bourne again shell », un superset de sh mais avec de features supplémentaires, par exemple, la complétion des commandes (avec tab), historique, et evaluation mathématique

  • zsh : super set de bash avec plus de features : correction d’orthographe etc

Chaque interprète nous donnes plus ou moins fonctionnalités d'interpretation à nos commandes.

Un interprète dans un interprète

Quand on ouvre l'application "Terminal", que ce soit dans VSCode, ou bien via l'invite de commandes sur MacOS, Windows ou Linux, la seule chose qui se lance est une fenêtre qui visionne notre interprète.

On pourrait lancer un autre interprète au sein du premier !

hetic@f0445cd6d1f5:/$ sh
$

Notre invite de commandes exécute désormais l'interprète qui s'appelle sh qui est un autre interprète que bash (avec un set de fonctionnalités plus limité).

On remarque la différence par le prompt (ou réplique en français) :

  • Dans bash, le prompt affiche le nom d'utilisateur connecté suivi par le nom de la machine ou serveur auquel on est connecté, suivi par le dossier dans lequel on se trouve, suivi par $ :

hetic@f0445cd6d1f5:/home$
# Donc:
# - hetic = le nom de l'utilisateur
# - f0445cd6d1f5 = le nom de la machine (dans ce cas, un ID unique pour notre machine virtuelle)
# /home = le dossier actuel
  • Dans sh, c'est un interprète plus simple, et on n'a pas toutes ses informations. On ne voit que le prompt ($) :

$

A tout moment, on peut quitter ce dernier interprète en tapant exit :

$ exit
hetic@f0445cd6d1f5:/$

Vous verrez que le prompt revient au précédent. On a fermé l'interprète sh et on est revenu dans l'interprète bash d'avant.

Question : Est-ce que vous constatez d'autres différences entre l'interprète bash et sh ?

Avec la , nous sommes dans l'interprète bash.

💻
configuration de ce cours