Fiche de révision : Commandes Linux et environnement shell

Plan du Cours

  1. Commandes et raccourcis du terminal
  2. Navigation et gestion des fichiers
  3. Types de commandes et aide en ligne
  4. Jokers et expansion des chemins
  5. Arborescence et comptes Linux
  6. Permissions des fichiers et répertoires
  7. Résolution des commandes avec PATH
  8. Variables, guillemets et expansions
  9. Compilation et diagnostic C
  10. Redirections et tubes
  11. Processus, tâches et signaux
  12. Filtres et traitement de texte

1. Commandes et raccourcis du terminal

Notions clés & Définitions

  • Commande shell : Suite de mots terminée par Entrée : le premier mot est son nom et les suivants sont ses arguments.

★ À maîtriser

  • Les raccourcis du terminal ont les effets suivants :
    • Ctrl-L efface l’affichage du terminal
    • Ctrl-U efface la ligne en cours
    • Ctrl-D transmet une fin de fichier
    • Tab complète une saisie lorsqu’une complétion est possible

Compléments

  • Le shell sépare les mots d’une commande par un ou plusieurs espaces et interprète le retour à la ligne comme sa fin.

  • La flèche ↑ ou Ctrl-P rappelle une commande précédente dans l’historique, tandis que ↓ ou Ctrl-N parcourt l’historique dans l’autre sens.

2. Navigation et gestion des fichiers

Notions clés & Définitions

  • Répertoire courant : Répertoire dans lequel se trouve un terminal ; pwd en affiche le chemin absolu.

★ À maîtriser

  • Les usages essentiels de cd sont : cd sans argument rejoint le répertoire personnel, cd .. rejoint le répertoire parent, cd - revient au répertoire précédent

  • ls [chemin] affiche le contenu du répertoire indiqué, ou du répertoire courant si aucun chemin n’est fourni.

  • mkdir crée des répertoires, touch crée des fichiers vides, mv déplace ou renomme, et cp copie des fichiers.

📌 rmdir supprime uniquement les répertoires vides, alors que rm -r ou rm -R supprime récursivement un répertoire et son contenu.

Compléments

📌 L’option -p de mkdir crée les répertoires intermédiaires manquants, tandis que cp -R copie un répertoire et tout son contenu.

📌 Sous Linux, rm supprime sans placer les fichiers dans une corbeille ; il faut vérifier le répertoire courant et son contenu avant rm -r.

3. Types de commandes et aide en ligne

★ À maîtriser

  • Les quatre catégories de commandes sont :

    • commande externe : programme ou script installé
    • commande interne : fonction intégrée au shell
    • fonction shell : commande définie par l’utilisateur
    • alias : raccourci de commande
  • La commande type indique la catégorie ou l’emplacement correspondant à une commande.

  • man fournit l’aide des commandes externes et help celle des commandes internes du shell.

Compléments

  • Dans une page de manuel, NAME donne une description brève, SYNOPSIS présente les syntaxes acceptées, et DESCRIPTION détaille les arguments et options.

📌 man 1 printf consulte la page de la commande printf, tandis que man 3 printf consulte la page de la fonction de bibliothèque correspondante.

4. Jokers et expansion des chemins

Notions clés & Définitions

  • Chemin absolu : Chemin qui commence par / et désigne un emplacement indépendamment du répertoire courant.
  • Chemin relatif : Chemin interprété à partir du répertoire courant et qui ne commence pas nécessairement par /.
  • Expansion de chemin : Remplacement par le shell des motifs contenant *, ? ou [] par les noms correspondants avant l’exécution de la commande.

★ À maîtriser

  • Dans les chemins Linux, / sépare les répertoires, . désigne le répertoire courant, .. son parent et ~ le répertoire personnel de l’utilisateur.

  • Les jokers ont les effets suivants : * représente une chaîne éventuellement vide, sauf au début d’un nom caché, ? représente exactement un caractère, [abc] représente un caractère choisi dans la classe indiquée

Compléments

  • Dans une classe de caractères, une plage telle que [a-z] définit un intervalle et [^abc] exclut les caractères a, b et c.

5. Arborescence et comptes Linux

Notions clés & Définitions

  • Système de fichiers Linux : Hiérarchie unique qui part de la racine /, sans lettres de lecteur ; les disques et partitions sont montés dans cette arborescence.

★ À maîtriser

  • Trois répertoires courants ont ces rôles :

    • /home contient les répertoires personnels
    • /tmp contient les fichiers temporaires
    • /etc contient les fichiers de configuration du système
  • id affiche des informations sur l’identité de l’utilisateur et ses groupes, et /etc/passwd contient des entrées décrivant les comptes utilisateurs.

Compléments

  • Ces répertoires système contiennent :

    • /bin : des programmes essentiels
    • /boot : des fichiers nécessaires au démarrage
    • /dev : des fichiers spéciaux représentant des périphériques
  • /usr contient des programmes et bibliothèques, /var des fichiers variables tels que journaux, courrier et bases de données, et /proc des informations sur les processus dans un système de fichiers virtuel.

6. Permissions des fichiers et répertoires

★ À maîtriser

  • Les permissions Linux distinguent le propriétaire (u), le groupe propriétaire (g) et les autres utilisateurs (o).

  • Dans la chaîne affichée par ls -l, le premier caractère indique le type et les neuf suivants répartissent les permissions du propriétaire, du groupe et des autres, à raison de trois caractères par catégorie.

  • Pour un fichier ordinaire, r autorise la lecture du contenu, w sa modification et x son exécution s’il s’agit d’un programme ou d’un script.

  • Pour un répertoire, r autorise la liste de son contenu, w sa modification et x l’accès au répertoire et la traversée vers ses fichiers.

📌 chmod modifie les permissions en notation symbolique ou octale ; en notation symbolique, + ajoute des droits, - les retire et = fixe exactement les droits indiqués.

Compléments

  • En notation octale, 0 correspond à ---, 1 à --x, 2 à -w-, 3 à -wx, 4 à r--, 5 à r-x, 6 à rw- et 7 à rwx.

Astuce mémo

Sur un fichier, x exécute ; sur un répertoire, x permet d’entrer et de traverser.

7. Résolution des commandes avec PATH

Notions clés & Définitions

  • PATH : Variable d’environnement contenant, séparés par :, les répertoires où le shell recherche une commande saisie sans chemin.

★ À maîtriser

📌 Lorsqu’il recherche une commande dans PATH, le shell choisit le premier programme correspondant dans l’ordre des répertoires.

Compléments

📌 Un chemin explicite tel que /usr/bin/rm ou ./rm exécute le programme désigné sans rechercher son nom dans PATH.

  • Bash peut mémoriser l’emplacement d’une commande ; hash -r efface ces emplacements mémorisés et type -a affiche les correspondances trouvées.

Astuce mémo

PATH dans l’ordre : premier programme trouvé, puis arrêt de la recherche.

8. Variables, guillemets et expansions

Notions clés & Définitions

  • Variable shell : Variable qui associe un nom à une chaîne de caractères, et dont le shell remplace $nom par la valeur lors de l’expansion.
  • Expansion d’accolades : Mécanisme qui génère des chaînes à partir d’énumérations comme {a,b,c} ou d’intervalles comme {1..5}, sans dépendre des fichiers existants.
  • Substitution de commande : Mécanisme qui insère dans une commande le résultat d’une autre commande, avec la syntaxe moderne $(commande).

★ À maîtriser

📌 Une variable créée par une affectation simple reste dans le shell courant, tandis que export la transmet à ses processus enfants comme variable d’environnement.

📌 Les apostrophes simples empêchent l’interprétation des caractères spéciaux qu’elles encadrent, tandis que les guillemets doubles laissent notamment s’effectuer l’expansion des variables et des substitutions de commande.

Compléments

  • ${nom} délimite explicitement le nom d’une variable et permet de lui accoler du texte, par exemple ${nom}pp.

  • La barre oblique inverse protège le caractère spécial qui la suit, et \ permet d’obtenir une barre oblique inverse littérale.

Astuce mémo

Les apostrophes protègent tout ; les guillemets doubles laissent agir les expansions.

9. Compilation et diagnostic C

★ À maîtriser

  • GCC (GNU Compiler Collection) est le compilateur C standard présenté pour Linux dans le cours.

  • La chaîne de compilation C comprend le prétraitement (cpp, option -E), la compilation en assembleur (-S), l’assemblage en fichier objet (as, option -c) et l’édition de liens (ld) pour produire l’exécutable.

  • -Wall active la plupart des avertissements courants, -Wextra active des avertissements supplémentaires et -Werror transforme les avertissements en erreurs.

Compléments

  • L’option -o nom choisit le nom du fichier de sortie, alors que GCC nomme par défaut l’exécutable a.out.

📌 Une erreur empêche généralement la compilation de produire le résultat attendu, tandis qu’un avertissement signale un problème détecté sans être nécessairement bloquant.

Astuce mémo

Prétraiter, compiler, assembler, lier : du source à l’exécutable.

10. Redirections et tubes

Notions clés & Définitions

  • Tube : Connexion qui relie la sortie standard d’une commande à l’entrée standard de la commande suivante.

★ À maîtriser

  • Chaque processus Unix démarre avec trois canaux standard : l’entrée standard stdin numéro 0, la sortie standard stdout numéro 1 et la sortie d’erreur stderr numéro 2.

📌 > redirige la sortie standard vers un fichier en écrasant son contenu existant, tandis que >> ajoute la sortie à la fin du fichier.

📌 2> redirige la sortie d’erreur vers un fichier, tandis que 1> redirige la sortie standard ; > est équivalent à 1>.

Compléments

📌 < relie un fichier existant et lisible à l’entrée standard d’une commande, et 0< exprime explicitement la redirection du canal numéro 0.

  • wc -l compte les lignes de son entrée ; dans ls ... | wc -l, il compte les lignes transmises par le tube, tandis que wc -l $(ls ...) reçoit les noms de fichiers comme arguments.

Astuce mémo

> écrase, >> ajoute ; | transmet une sortie à l’entrée suivante.

11. Processus, tâches et signaux

Notions clés & Définitions

  • Processus : Programme en cours d’exécution, identifié par un PID.
  • Tâche shell : Processus ou groupe de processus lancé depuis un shell, que celui-ci peut contrôler au premier plan ou en arrière-plan.

★ À maîtriser

  • ps affiche des processus, top permet de les observer de façon interactive et jobs liste les tâches du shell courant.

📌 Ctrl-Z suspend la tâche courante avec SIGTSTP, Ctrl-C demande son interruption avec SIGINT, fg la ramène au premier plan et bg la reprend en arrière-plan.

  • SIGINT vaut 2, SIGTSTP vaut 20, SIGCONT vaut 18, SIGTERM vaut 15 et SIGKILL vaut 9.

📌 kill envoie par défaut SIGTERM, qui demande un arrêt gracieux ; SIGKILL force l’arrêt et ne permet pas au processus de se terminer proprement.

Compléments

  • jobs -p affiche les PID des tâches, et fg %n ou bg %n agit sur la tâche numéro n du shell.

Astuce mémo

Ctrl+Z suspend sans terminer ; Ctrl+C demande l’interruption.

12. Filtres et traitement de texte

Notions clés & Définitions

  • Filtre de texte : Commande qui lit ou peut lire son entrée standard, transforme les données et écrit le résultat sur sa sortie standard.

★ À maîtriser

  • grep affiche les lignes correspondant à une chaîne ou une expression régulière ; -v sélectionne les lignes non correspondantes et -i ignore la casse.

Compléments

  • head affiche le début de l’entrée, tail sa fin, et leur option -n permet de préciser le nombre de lignes affichées.

  • cut sélectionne des champs ou des caractères dans chaque ligne ; -c sélectionne des caractères et -d indique le séparateur de champs.

  • sort trie les lignes, uniq retire les lignes identiques consécutives et tr remplace ou supprime des caractères.

  • L’option -r de grep recherche récursivement dans les fichiers d’un répertoire, tandis que -l affiche uniquement les noms des fichiers contenant une correspondance.

  • Dans wc, l’option -c compte les octets et, dans sort, l’option -n trie les lignes selon leur valeur numérique.

Tableaux de synthèse

Permissions selon l’objet

PermissionFichier ordinaireRépertoire
rLire le contenuLister le contenu
wModifier le contenuModifier le contenu du répertoire
xExécuter un programme ou scriptEntrer dans le répertoire et traverser vers ses fichiers

Teste tes connaissances

Teste tes connaissances sur Commandes Linux et environnement shell avec 38 questions à choix multiples et corrections détaillées.

1. Dans un motif de nom de fichier, quelle interprétation distingue correctement `?` de `*` ?

2. Quel outil permet de lister les tâches lancées depuis le shell courant ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Commandes Linux et environnement shell avec 93 flashcards interactives.

Qu’est-ce qu’une commande shell ?

Une suite de mots terminée par Entrée.

Quel rôle joue le premier mot d’une commande shell ?

Il en est le nom.

Quel rôle jouent les mots suivants dans une commande shell ?

Ce sont ses arguments.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches