Aller au contenu

C0 Systèmes

"I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) (...)"
Linus Torvalds
(comp.os.minix newsgroup 1991)

Cours

Support de cours chapitre 0

Attention

Ce diaporama ne vous donne que quelques points de repères lors de vos révisions. Il devrait être complété par la relecture attentive de vos propres notes de cours et par une révision approfondie des exercices.

Travaux dirigés

Fiche de TD0

Travaux pratiques

â–ª Exercice 1 : Les bases de la ligne de commande

  1. En utilisant uniquement la ligne de commande, créer l'arborescence suivante dans votre répertoire personnel :
        graph TD
        A[MP2I] --> B[C1-Systèmes]
        A[MP2I] --> G[C2-OCaml]
        A[MP2I] --> F[C3-Arithmétique]
        B --> C[Cours]
        B --> D[TD]
        B --> E[TP]
  2. Renommer le dossier C2-OCaml en C2-LangageC
  3. Aller dans le dossier MP2I
  4. Taper la commande tree, quel est l'effet de cette commande ?
  5. Quelle option de la commande tree permet de limiter le niveau d’arborescence souhaité ?

â–ª Exercice 2 : Calendrier

  1. Ouvrir un terminal et y tester la commande cal
  2. Lire la documentation de cette commande
  3. Quel était le jour de la semaine le 26 juin 1815 ?
  4. Quel commande faut-il écrire pour afficher le calendrier du mois de mai 1970 ?

â–ª Exercice 3 : Chercher des fichiers

  1. Lire les premières lignes de la documentation de la commande find. A quoi sert cette commande ?
  2. Tester la commande find ~ -name .*. Expliquer le résultat obtenu et l'effet de la commande.

    Aide

    On rappelle que ~ désigne votre répertoire personnel.

  3. Sachant que les commandes du système se trouvent dans le repertoire /usr/bin, lister toutes les commandes dont le nom se terminent par  dir (rmdir et mkdir devraient donc apparaître).

  4. Alice est certaine d'avoir un fichier nommé bob.txt dans son répertoire personnel mais elle n'arrive plus à le retrouver. Quelle commande devrait-elle taper ?

  5. Expliquer le but de la commande find ~ -mtime 5 -name *.txt

â–ª Exercice 4 : Gameshell

Gameshell est un mini-jeu d'aventure dans le terminal dans lequel les commandes servent à accomplir des missions. Il a été developpé par Pierre Hyvernat et Rodolphe Lepigre.

  1. Lancer un terminal (le raccourci clavier est Ctrl+Alt+T)
  2. Créer un dossier gameshell dans votre répertoire personnel
  3. Aller dans le répertoire gameshell
  4. Y copier le fichier gameshell.sh téléchargeable ci-dessous : Télécharger gameshell

    Note

    Depuis la ligne de commande, en l'absence de proxy (ce qui n'est pas le cas au lycée), on peut aussi taper :

    wget https://github.com/phyver/GameShell/releases/download/latest/gameshell.sh
    

  5. Ajouter le droit d'exécution pour l'utilisateur sur le fichier gameshell.sh.

  6. Dans le terminal taper ./gameshell.sh

    A retenir

    On retiendra que pour lancer un exécutable depuis le terminal, on donne son chemin. Ici puisqu'il se trouve dans le répertoire courant (c'est-à-dire .) on tape donc ./gameshell

    Aide

    Voici les principales commandes du jeu :

    • gsh goal : affiche l'objectif de la mission
    • gsh check : vérifie que l'objectif est atteint et le cas échéant passe à la mission suivante
    • gsh reset : réinitialise la mission en cours
    • gsh exit : quitter le jeu

    Pour relancer le jeu à partir de la dernière sauvegarde taper ./gameshell-save.sh

â–ª Exercice 5 : The command line murders

Dans ce mini jeu (crée par Noah Veltman), vous devez résoudre une enquête policière en utilisant uniquement la ligne de commande. Pour jouer :

  1. Commencer par télécharger l'archive zip du jeu
  2. Décompresser cette archive dans le répertoire de votre choix, et aller dans le répertoire clmystery-master
  3. Taper cat instructions pour demarrer

Aide

Toutes les commandes utiles pour résoudre l'enquête sont expliquées dans le fichier cheatsheet.pdf

Lien

En ligne (donc sans aucune installation sur son ordinateur personnel), on peut aussi jouer à Terminus pour découvrir la ligne de commande

Humour d'informaticien

Sudo