Corrigé des exercices sur les répertoires (mkdir, rmdir, cd)

Ces exercices sont des questions de cours : les solutions se trouvent toutes dans les pages de man des commandes en question. On suppose donc connues les commandes de less, qui servent à se déplacer dans les pages de man... et la commande servant à chercher un mot. Testez les commandes sur des fichiers et répertoires d'essai pour vous faire la main et comprendre ce qui se passe.

mkdir, rmdir

  1. Créez trois répertoires en une seule ligne de commande.

    Si vous voulez créer trois répertoires bla, ble et bli, tapez

    mkdir bla ble bli
    
  2. Effacez ces trois répertoires en une seule ligne de commande .

    Il faut taper

    rmdir bla ble bli
    
  3. Que se passe-t-il si vous tapez mkdir mkdir  ?

    Vous créez chez vous un répertoire appelé mkdir.

  4. Vous voulez détruire un répertoire bla/... mais ça ne marche pas.

    ls vous dit qu'il est vide, et pourtant vous ne réussissez pas à l'effacer : c'est qu'il n'est pas vide. Il doit y avoir des fichiers cachés, commençant par un point, que vous ne voyez pas avec ls sans option. Il faut taper

    ls -a
    

    et effacer les fichiers trouvés.

  5. Est-ce que mkdir peut prendre des options ?

    Oui, une : l'option -p, dont on va parler tout de suite.

  6. À quelle condition est-ce que la ligne de commande «mkdir Rapport/annexes» peut fonctionner et créer effectivement ce sous-répertoire ?

    Il faut que le répertoire Rapport existe, pour que l'on puisse y créer un sous-répertoire.

  7. Y a-t-il une option de mkdir qui permette de créer à la fois un répertoire et un sous-répertoire de ce répertoire ?

    Oui, c'est l'option -p. Quand vous tapez

    mkdir -p Rapport/annexes
    

    un répertoire Rapport est créé, et dans ce répertoire un sous-répertoire annexes.

  8. Comment créer un répertoire en spécifiant des droits ?

    On utilise l'option -m (mode) de mkdir. Par exemple :

    bireme ~ $ mkdir -m 700 Mail
    bireme ~ $ ls -ld Mail
    drwx------   2 robin    litt95     2048 Jun  2 15:27 Mail/
    
  9. Quel est l'effet de la commande suivante :
     rmdir -p toto/tata/tutu/

    Cette commande efface toute la hiérarchie des répertoires, à condition qu'ils soient vides; si par exemple tutu/ est vide mais toto/ ne l'est pas, tutu/ sera effacé mais pas toto/, et le programme s'arrête.

  10. Création récursive sans message d'erreur

    On achève avec ceci le tour de l'option -p... Si donc on tape

    mkdir -p toto/tutu/
    

    le sous-répertoire tutu/ est créé si toto/ existe déjà; et si toto/ n'existe pas, ce répertoire et son sous-répertoire sont créés. Il n'y a pas de message d'erreur.

cd

But de l'exercice : apprendre à se servir de . et .. («point» et «point point»). .. désigne le répertoire père du répertoire courant, et . désigne le répertoire courant. .. sert beaucoup avec cd, pour remonter d'un niveau dans une arborescence; . est très utile avec des commandes comme mv ou cp, où il signifie en fait «ici».

[Exemple d'arborescence]

  1. Dans quel répertoire vous trouvez-vous quand vous vous loguez ?

    Vous vous trouvez dans votre répertoire personnel, dans ~ (tilde).

  2. Allez directement dans ~/Rapport/docs/afaire/

    Taper

    cd Rapport/docs/afaire
    
  3. De là, passez dans ~/Rapport/docs/fait/
    cd ../fait
    
  4. Revenez dans ~/Rapport/

    Taper

    cd ../..
    

    ou

    cd ~/Rapport
    
  5. Sans changer de répertoire, regardez avec less le contenu de ~/www/index.html

    Il faut taper

    less ~/www/index.html
    

    ou

    less ../www/index.html
    
  6. Passez dans ~/Rapport/docs/
    cd docs/
    
  7. En restant là où vous êtes, affichez les droits de ~/Mail/

    Il y a un petit piège dans cette question. En effet, si vous tapez

    ls -l Mail/
    

    vous allez obtenir le contenu du répertoire Mail/, mais pas le statut du répertoire lui-même. Il faut donc utiliser l'option -d de ls :

    bireme ~ $ ls -ld Mail
    drwx------ 2 toto  litt98 512 Apr  2 19:02 /users/98/litt/toto/Mail/
    
  8. Revenez dans votre répertoire principal

    Taper cd, sans arguments.

  9. Que se passe-t-il si vous vous déloguez alors que vous n'êtes pas dans votre répertoire principal ?

    Strictement rien ! Ça n'a aucune importance.

Auteur : Émilia Robin, Joël Riou. Dernière modification le .