L'objectif de ce TP (en autoformation) est que vous assimiliez les bases de l'environnement Unix/Linux ainsi que de la programmation système au sein d'un terminal. Pour ce faire, cette page liste des commandes et des notions qu'il est bon, pour ne pas dire, indispensable, de connaître si vous voulez survivre dans tout environnement Unix. Il vous est demandé de comprendre et tester l'utilisation de chaque commande que vous ne connaitriez pas encore. En cas de difficultés, vous pouvez dans l'ordre :
  1. Obtenir de l'aide en interrogeant la commande depuis un terminal:
    <nom de la commande> -h
    ou parfois (cela dépend de la commande)
    <nom de la commande> --help
  2. Consulter depuis un terminal la documentation Unix appelée aussi "man pages" à l'aide de la commande :
    man <nom de la commande>
  3. Interroger le Web (Wikipedia, tutoriels Linux, etc)
  4. En dernier recours, interroger le méchant professeur, mais vous prennez un risque...
Au bas de cette page sont proposés quelques exercices pour vous tester.
Préambule : démarrage d'une session graphique et d'un terminal
  1. Démarrez une session graphique (ou session "X") sous l'environnement Gnome Shell (et non Unity)
  2. En appuyant sur la "Super Key" (pour ne pas dire la touche Windows ☠), découvrez la liste des bureaux virtuels (colonne de droite), la liste des applications courantes (colonne de gauche), le moteur de recherche de logiciels (boite de dialogue en haut).
  3. Naviguez d'un bureau virtuel à un autre à l'aide des combinaisons de touches CTRL + ALT + UP ou CTRL + ALT + DOWN. Ouvrez un navigateur de fichier (à partir de la liste des applications courantes) dans chaque bureau virtuel. Déplacez une fenêtre d'un bureau à un autre en pressant la "Super Key" et observez la création/destruction dynamique de bureaux virtuels.
  4. Ouvrez un terminal (de type bash par défaut) soit à l'aide du moteur de recherche (en tapant terminal dans la boite de dialogue), soit à partir du menu contextuel (clic du bouton gauche de la souris) d'un navigateur de fichiers.
  5. Commencez par faire ce mini tutoriel sur le terminal qui présente les commandes les plus importantes.
Système de fichiers Unix
Etudiez et testez ensuite les commandes suivantes :
Entrées/sorties d'un processus
Substitution de commandes
Les commandes produisent une sortie sur le flux de sortie. La substitution permet d'utiliser la sortie d'une commande comme le texte d'une autre commande (le texte, pas le flux d'entrée). Voyons un exemple. Tapez pour voir
man lsb_release
lsb_release -a
lsb_release -a 2> /dev/null
lsb_release -rs
Maintenant que vous savez ce que fait cette commande, essayez
echo lsb_release -rs
echo $(lsb_release -rs)
La substitution est l'expression $(...), qui se note aussi `...` mais cette dernière notation est désuète. Pour créer un fichier xxx.txt où xxx est le numero de votre distribution, dans lequel se trouve seulement les lignes de la description de votre distribution qui contiennent le caractère '.', il suffit d'écrire
lsb_release -a 2> /dev/null | grep -F '.' > $(lsb_release -rs).txt
Editez le fichier texte généré.
Traitement des fichiers texte et scripts
Gestion des threads et processus
Réseau
Exercices
Plutôt faciles
Difficiles (pour les plus motivés)