Unix & Shell · L1 · Section 7/7
Ressources
Progression
#Ressources: SPUF201, Système 1
#Références UCA
- Syllabus officiel SPUF201: Linux utilisateur, fichiers et droits, administration, réseau, shell et communications.
Le fonds local de l'UE couvre l'intégralité du programme.
- Cours — sept chapitres: introduction et structure d'Unix; fichiers et répertoires; installation d'une distribution GNU/Linux; réseaux, adresses et protocoles; le shell; les outils d'Unix; connexion et communication.
- Travaux pratiques — six séances: session utilisateur, terminaux et Emacs; arborescence, fichiers, liens et permissions; installation d'une distribution en machine virtuelle; réseau, courrier et groupes de discussion; shell, redirections et filtres; scripts, processus et filtres.
- Mémentos — Unix, Emacs et Emacs avancé, avec le code ASCII complet et les raccourcis clavier.
- Fiches de révision — Linux (fichiers, droits, recherche, expressions rationnelles), shell (définition, scripts, options, codes de retour), fonctions et portée des variables.
- Sujets d'épreuve — un partiel blanc 2023-2024, un partiel du 23/03/2022, un contrôle continu terminal du 9/05/2022 et un du 9/05/2023, avec les corrigés de scripts distribués par l'UE.
- Archives d'exercices — arborescences de TP, scripts d'exemple et d'exercice du cours.
Ordre conseillé: fichiers et répertoires, permissions, commandes et redirections, scripts shell, processus, réseau et connexions distantes. Refaites ensuite les TP dans un terminal vierge, sans recopier les commandes du corrigé, puis passez aux exercices d'épreuve.
#Documentation pratique
L'aide d'Unix se consulte en trois voies, que le cours présente comme un système d'aide en ligne à part entière.
Les pages de manuel sont organisées en chapitres, initialement au nombre de huit: 1 commandes accessibles depuis le shell, 2 appels système, 3 appels de bibliothèque, 4 fichiers spéciaux des périphériques, 5 conventions et organisation des fichiers, 6 jeux, 7 divers, 8 commandes d'administration. Les fichiers se trouvent dans la hiérarchie /usr/share/man/, dans des répertoires man1/, man2/, etc. Une page comporte des sections normalisées: NOM, SYNOPSIS, DESCRIPTION, OPTIONS, EXEMPLES. Dans le SYNOPSIS, le texte en gras est à taper tel quel, l'italique est à remplacer par un argument, les crochets signalent les éléments facultatifs, la barre verticale sépare des options incompatibles, et les points de suspension indiquent une répétition.
man nomaffiche la page correspondante,man -k noménumère tous les en-têtes qui contiennent le mot — c'est aussi ce que faitapropos nom.man 2 fork,man 7 pipe: préciser le chapitre lève les ambiguïtés entre commande, appel système et convention.- La touche
qquitte la page;SPCavance d'une page,dd'une demi-page,RETd'une ligne,/chaînecherche vers l'avant,?chaînevers l'arrière. --helpou-hdonne un résumé immédiat: appeler une commande incorrectement est souvent le plus rapide pour découvrir sa syntaxe. Attention,-hpeut être une option légitime — c'est le cas decal.
Le système Info est l'outil de consultation des pages de manuel des outils du projet GNU, avec une navigation hiérarchisée et hypertextuelle. Il se lance par info dans un terminal, ou par C-h i dans Emacs. Les touches n, p et u passent à la page suivante, précédente, ou supérieure.
L'aide de Gnome, accessible par la commande yelp, se comporte comme un navigateur simplifié.
#Outils à installer pour pratiquer
strace: tracer les appels système d'un programme.tree: visualiser une arborescence, avec-dpour ne garder que les répertoires.htop: une version interactive detop.shellcheck: analyseur statique qui signale les pièges classiques des scripts.wiresharkoutcpdump: observation du trafic réseau.
#Références
- The Linux Command Line: ouvrage libre pour consolider les bases.
- Bash Reference Manual: référence du langage shell.
- zsh: le shell officiel de l'UE.
- ShellCheck: analyseur statique qui détecte les pièges classiques des scripts.
- OpenSSH:
ssh,scp,sftpetssh-agent. - Les pages de manuel du système:
man 7 zshexpnpour les modèles étendus,man 1 testpour les prédicats,man 1 greppour les expressions rationnelles.
#Auto-évaluation
Vous êtes prêt pour l'examen si vous savez, sans notes: décoder une ligne de ls -l, calculer un umask dans les deux sens, expliquer la différence entre une commande intrinsèque et une commande externe, extraire un intervalle de lignes avec head puis tail, distinguer jokers et expressions rationnelles, écrire un script en #!/bin/zsh qui contrôle ses paramètres, expliquer la différence entre TERM et KILL, et ouvrir un tunnel SSH vers un service privé.