1. Introduction

Nous avons précédemment fait des manipulations avec l’interface graphique et quelques manipulations en ligne de commande. Nous allons maintenant nous concentrer uniquement sur la ligne de commande.

Nous avons vu quelques commandes différentes et appris les bases de la gestion de dossier. C’est sur la gestion de dossiers et de fichiers que nous allons nous concentrer aujourd’hui en apprenant à copier, renommer, déplacer des dossiers ou fichiers mais aussi en découvrant la gestion des droits sur les fichiers.

Rappel des commandes rencontrées et de leur usage basique :

commande rôle usage
man lire les pages de manuel man nomdecommande
apropos trouver des pages de manuel apropos mot-clef
who qui est connecté who [-H]

Quelques raccourcis pour accélérer l’utilisation de la ligne de commande

  • Tab : La touche tabulation () permet de compléter les chemins sur la ligne de commande. Par exemple, dans le dossier ~, taper cd Bu complète en Bureau. S’il y a plusieurs possibilités, il faudra éventuellement appuyer 2 fois sur Tab.
  • permet de remonter dans l’historique des commandes, donc évite de retaper la commande précédente en entier si on ne veut modifier qu’un morceau.
  • Ctrl+a ramène le curseur en début de ligne.
  • Ctrl+e envoie le curseur en fin de ligne.

2. Manipulations de fichiers et dossiers

Commandes de manipulation de fichiers

ls afficher le contenu d’un dossier ls [chemin]
cd se déplacer dans l’arborescence cd [chemin]
mkdir créer un dossier mkdir [-p] nomdossier
pwd afficher le dossier courant pwd
rmdir supprimer un dossier rmdir nomdossier
  1. Lisez les pages de manuel de ces commandes pour vérifier leurs rôles. Il y a un piège : cd n’a pas de page de manuel (sa documentation se trouve dans man bash-builtins).
  2. Après connexion (ou lancement d’une fenêtre Terminal), dans quel dossier vous trouvez-vous ? À partir de maintenant, nous appellerons ce répertoire votre «home».
  3. Tapez cd .. ; dans quel dossier vous trouvez-vous ?
  4. Affichez son contenu. Que remarquez-vous ?

cd permet de se déplacer dans l’arborescence. Le répertoire courant est pris en compte quand on affiche la liste des fichiers du répertoire et est donc important.

  1. Déplacez-vous dans le dossier /home/syslog.

  2. Tapez cd ; que s’est-il passé ?

  3. Dans votre dossier personnel, créez un dossier ressourceR108. Créez un dossier TP dans ressourceR108. Pouvez-vous créer des nouveaux répertoires ressourcer108, RessourceR108 et RESSOURCEr108 dans votre dossier personnel ?

  4. Reproduisez l’arborescence suivante1 à l’aide uniquement de la ligne de commande :

    ~
    `-- animaux
        |-- vertébrés
        |   |-- mammifères
        |   |   |-- bipèdes
        |   |   |   `-- humain
        |   |   |-- quadrupèdes
        |   |   |   |-- canidés
        |   |   |   |   |-- chien
        |   |   |   |   `-- coyotte
        |   |   |   |-- équidés
        |   |   |   |   |-- cheval
        |   |   |   |   `-- zèbre
        |   |   |   `-- félins
        |   |   |       |-- chat
        |   |   |       `-- lynx
        |   |   `-- apode
        |   |       |-- cétacés
        |   |       |   |-- baleine
        |   |       |   `-- dauphin
        |   |       `-- chauve-souris
        |   |-- reptiles
        |   |   |-- serpents
        |   |   |   |-- boa
        |   |   |   `-- couleuvre
        |   |   `-- lézards
        |   |       |-- lézard gris
        |   |       `-- salamandre
        |   `-- oiseaux
        |       |-- corbeau
        |       `-- mésange
        `-- invertébrés
            `-- mollusques
                `-- poulpe
  5. Afficher tous les contenus du répertoire animaux.

  6. Ajouter le panda dans le dossier ursidés dans le dossier quadrupèdes en une seule commande (à la fois ursidés et panda doivent être créés).

3. Chemins absolus et relatifs

L’utilisation de la commande cd se fait en lui donnant en argument un chemin menant au point de l’arborescence où l’on veut se rendre. Ce chemin peut être de deux sortes : ou bien relatif, c’est-à-dire expliquant comment s’y rendre depuis le point courant (par exemple remonter d’un étage, puis descendre dans le dossier lecture) ; ou bien absolu, c’est-à-dire explicitant où il est et non comment s’y rendre (ce qui en pratique se fait en expliquant comment s’y rendre de puis la racine).

Par exemple, /home/eleves/toto/lecture/ est un chemin absolu (le / débutant le chemin montre que l’on part de la racine et non du dossier courant). Par contre, ../interdit est un chemin relatif. Il ne sera valable que depuis certains points. Un chemin relatif est relatif à un dossier.

Ainsi, dans l’arbre de dossiers, réalisé lors de la première séance, un chemin relatif du dossier lynx par rapport au dossier humain est ../../quadrupèdes/félins/lynx : il faut remonter dans le dossier bipède puis dans le dossier mammifères avant de pouvoir redescendre vers le lynx.

Remarque : il existe plusieurs chemins pour aller d’un point à un autre, par exemple, ../../quadrupèdes/canidés/../félins/chat/../lynx est aussi un chemin relatif du dossier lynx par rapport au dossier humain.

Il existe certains raccourcis désignant des chemins particuliers :

.. répertoire parent
. répertoire courant
~ répertoire «home»
/ répertoire racine

Ainsi, “cd .” permet de rester dans le dossier courant, “cd ..” de remonter d’un étage dans l’arborescence de fichiers et “cd ~” de revenir dans son répertoire personnel (par exemple /home/eleves/dias0071/).

Nous allons maintenant découvrir de nouvelles commandes : rm, mv et touch. mv permet de déplacer (move) ou renommer des fichiers et dossiers. touch change la date de dernière modification d’un fichier ou le crée s’il n’existe pas. rm permet de supprimer un dossier ou un fichier.

Questions :

  • Donnez le chemin absolu des dossiers humain, chien, cheval, chat, baleine et chauve-souris.
  • Pour chacun des noms suivants, indiquez s’il est absolu valide, relatif valide par rapport à ~/animaux/vertébrés/mammifères (1) et relatif valide par rapport au chemin ~/animaux/vertébrés/mammifères/apode/cétacés/baleine/ (2) :
chemin absolu ? relatif à 1 relatif à 2
../dauphin
../mammifères/apode/cétacés/baleine
~/animaux/vertébrés
../../cétacés/baleine
../chauve-souris
../../.
../invertébrés/./mollusques
../../../../../../../../..
./baleine
./bipèdes
~/apode/cétacés/baleine
~/animaux/invertébrés/../vertébrés
  • Vérifiez vos réponses avec des commandes.
  • Donnez trois commandes permettant de se déplacer dans votre dossier personnel (votre «home»).
  • Lisez les pages de manuel de mv et touch. Dans quel ordre sont les arguments de mv ? Peut-on régler la date de modification d’un fichier dans le passé ou dans le futur ?
  • Placez-vous dans votre «home» et, sans utiliser cd, créez un dossier poissons dans le dossier des vertébrés, créez des dossiers deau douce et de mer dans ce dossier et à l’aide de la commande touch créez des fichiers bar, merlu, sole, truite, carpe.
  • Affichez des informations détaillées sur les fichiers que vous venez de créer (taille, inode, date…)
  • Créez un fichier nommé vampire dans le dossier chauve-souris.
  • Déplacez le dossier chauve-souris dans le dossier bipèdes (les chauve-souris ne sont pas apodes, elles ont des pattes).
  • Sans utiliser cd, déplacez le dauphin dans le dossier poissons. Proposez une commande ne dépendant pas du dossier courant puis une dépendant du dossier courant (que nous supposerons être ~).
  • Supprimez le fichier poulpe.
  • Supprimez le dossier mollusques (celui-ci doit être vide). Proposez plusieurs méthodes pour le faire.
  • Supprimez le dossier bipèdes. Lesquelles des méthodes précédentes réussissent ?

Épilogue

  • Vu les chemins absolus et relatifs.
  • Appris à utiliser mkdir, touch, cat, rmdir, rm.
  • Suite : Les droits

  1. On pourra sauvegarder l’arborescence pour la retrouver la semaine prochaine à l’aide de la commande tar : tar cvf animaux.tar animaux archive toute l’arborescence dans le fichier animaux.tar qui pourra être envoyé par mail et désarchivé au besoin.↩︎