★ À maîtriser
📌 Un langage de commandes textuel est puissant mais plus difficile à apprendre et à utiliser, tandis qu’une interface graphique est plus facile à utiliser mais plus limitée et difficile à automatiser pour les procédures complexes.
Compléments
Les exemples cités sont:
Les deux grandes familles de shells sont la famille C Shell, avec csh et tcsh, et la famille Bourne Shell, avec sh, bash, ksh et dash.
Texte puissant mais exigeant, interface graphique simple mais moins automatisable.
★ À maîtriser
📌 Bash est à la fois un environnement de travail interactif et un langage de programmation.
Bash fournit notamment: le rappel des commandes précédentes, l’édition en ligne des commandes, la gestion des travaux lancés en arrière-plan, l’initialisation des variables d’environnement
Bash permet d’utiliser:
Compléments
Bash est à la fois un espace de travail et un langage de programmation.
★ À maîtriser
Pour l’administration système, Bash permet:
Dans le développement, Bash permet: le déploiement automatique d’une application, l’exécution des tests sur un logiciel, la préparation automatique des données ou de la configuration des projets
Bash facilite le prototypage rapide grâce aux tubes et à la substitution de commandes, qui permettent de construire un programme à partir de commandes Linux existantes.
📌 Bash ne possède pas de structures de données complexes, de pointeurs ni d’autres mécanismes d’indirection.
Compléments
📌 Bash est un langage de collage parce qu’il permet de connecter des composants écrits dans des langages différents.
Interprétation et commandes existantes → prototypage rapide et intégration de composants.
★ À maîtriser
La syntaxe générale d’une commande Bash est .
Les mots d’une commande Bash sont séparés par des espaces ou des tabulations horizontales, et Bash distingue les majuscules des minuscules.
Les méta-caractères sont des caractères ayant une signification spéciale pour l’interpréteur, comme le pipe | ou le caractère >.
📌 Les options sont précédées d’un tiret, comme -a, tandis que la syntaxe GNU utilise deux tirets, comme --version.
📌 Une commande interne est implantée dans l’interpréteur et ne crée généralement pas de processus séparé, tandis qu’une commande externe est stockée dans un fichier et entraîne généralement la création d’un nouveau processus.
Compléments
Les commandes internes Bash peuvent être simples, lorsqu’elles comportent un seul mot et ses arguments, ou composées, lorsqu’elles utilisent plusieurs mots réservés.
Les mots réservés de Bash comprennent case, coproc, do, done, elif, else, esac, fi, for, function, if, in, select, then, time, until, while, {, }, [[, ]], et !.
Commande interne intégrée au shell, commande externe portée par un fichier et un processus.
★ À maîtriser
📌 L’exécution séquentielle est synchrone : chaque commande commence après la fin de la précédente, tandis que l’exécution en arrière-plan rend immédiatement le contrôle du terminal.
📌 Le caractère & placé à la fin d’une commande demande son exécution en arrière-plan.
Pour envoyer une commande en arrière-plan, l’utilisateur peut l’arrêter avec CTRL-Z, puis exécuter bg suivi de son numéro de job.
La commande jobs liste les tâches lancées en arrière-plan, fg suivie d’un numéro de job récupère une tâche au premier plan et set -b informe de la finalisation des tâches en arrière-plan.
Compléments
Lancer → suspendre → reprendre au premier plan ou en arrière-plan.
★ À maîtriser
📌 Pour exécuter un script avec bash, il suffit d’utiliser la commande bash suivie du nom du script, comme dans bash afficherDate.
📌 Pour exécuter directement un script, l’utilisateur doit avoir les droits de lecture r et d’exécution x, et le répertoire du script doit être dans PATH ou être indiqué par un chemin relatif ou absolu.
Compléments
📌 La première ligne d’un script Bash peut indiquer l’interpréteur à utiliser avec le shebang # !/bin/bash, et le caractère # introduit un commentaire.
📌 La commande PATH=$PATH :. ajoute le répertoire courant à PATH, ce qui permet ensuite d’exécuter un script qui s’y trouve par son seul nom.
📌 Si un script porte le même nom qu’une commande interne Bash comme test, Bash exécute la commande interne.
Permission x et chemin accessible → script exécutable.
★ À maîtriser
Les paramètres Bash sont soit des variables identifiées par un nom, soit des paramètres de position identifiés par des chiffres, soit des paramètres spéciaux identifiés par un caractère spécial.
Le caractère $ placé devant un nom ou un symbole permet de récupérer la valeur d’un paramètre Bash.
Un nom de variable Bash contient des lettres, des chiffres ou des tirets bas, mais ne peut pas commencer par un chiffre et reste sensible à la casse.
L’affectation d’une variable s’écrit nom=valeur sans espace autour du signe égal, tandis que sa lecture s’écrit $nom.
La commande read affecte par lecture les valeurs saisies aux variables indiquées, stocke toute la saisie dans REPLY si aucune variable n’est fournie et accepte -p pour afficher un prompt.
📌 Une variable locale disparaît à la fin du processus du shell, tandis qu’une variable d’environnement exportée est transmise automatiquement aux processus ou shells fils.
📌 La transmission d’une variable d’environnement est unidirectionnelle vers le shell fils : une modification effectuée par le fils n’est pas visible dans le shell père.
Compléments
📌 Une constante déclarée avec declare -r, comme declare -r salutation=bonjour, ne peut plus être modifiée.
Locale limitée au shell, environnement transmise aux shells fils.
★ À maîtriser
📌 Les paramètres de position sont utilisés pour transmettre des arguments à un script ou une fonction, et la commande set permet de leur affecter des valeurs tandis que set -- les efface.
Dans un script Bash, $0 contient le nom du programme et $1, $2 et $3 contiennent respectivement les premier, deuxième et troisième arguments.
Le paramètre spécial $# indique le nombre de paramètres de position qui contiennent une valeur.
📌 L’option set -e arrête un script lorsqu’une erreur se produit, tandis que set -x affiche avant leur exécution une trace des commandes, de leurs arguments ou des variables utilisées.
Compléments
$0 programme, $1… arguments, $# nombre d’arguments.
| Critère | Commande interne | Commande externe |
|---|---|---|
| Emplacement du code | Dans l’interpréteur | Dans un fichier ordinaire |
| Processus | Généralement aucun processus séparé | Généralement un nouveau processus |
| Exemples | echo, export, read | ls, mkdir, sleep |
| Critère | Variable locale | Variable d’environnement |
|---|---|---|
| Durée de vie | Jusqu’à la fin du shell | Transmise aux shells fils |
| Transmission | Non transmise automatiquement | Transmise automatiquement |
| Commande associée | Affectation simple | export |
Teste tes connaissances sur Introduction aux langages Bash avec 11 questions à choix multiples et corrections détaillées.
1. Quel rôle un langage de commandes joue-t-il dans un système d’exploitation ?
2. Qu'est-ce qu'un langage de commandes dans un système d'exploitation ?
Mémorisez les concepts clés de Introduction aux langages Bash avec 11 flashcards interactives.
Qu'est-ce qu'un langage de commandes dans un système d'exploitation ?
Un composant important permettant d'interagir avec ses services et ressources.
Langage de commandes: rôle
Interagir avec le système d'exploitation.
Quelles sont les deux grandes familles de shells principales ?
La famille C Shell et la famille Bourne Shell.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches