Navigation en ligne de commande

Sommaire

Index

Navigation dans un système de fichier

Introduction

Un système de fichier permet de stocker et d’organiser les informations enregistrées sur un support de stockage.

Ces informations sont stockées sur un support de manière “linéaire” ou “sérielle”: les octets sont rangés les uns après les autres.

Ils sont organisés en groupe d’octets.

Chaque groupe d’octet possède une adresse qui permet de le retrouver directement.

Un fichier ou un dossier est un pointeur vers un groupe d’octet.

Pour structurer ces données de manière accessible à un être humain, on utilise une représentation arborescente:

Les systèmes de fichiers Linux

Sous Linux, les systèmes de fichiers extX (ext2, ext3, ext4) sont les plus utilisés (mais d’autres existent).

Dans ces filesystems les groupes d’octets sont appelés des blocs (block).

Des métadonnées (les inodes) permettent de décrire le fichier ou dossier et d’indiquer leur emplacement sur le disque ou la partition.

La structure permettant d’accéder aux données est organisée sous forme d’une “carte” arborescente.

La racine de la “carte” est notée /. C’est la racine du système de fichiers.

Depuis cette racine /, on peut accéder à tous les fichiers et dossiers du système.

Chaque fichier ou dossier référence un inode.

Un inode non référencé est considéré comme libre. Ses données peuvent être écrasées par d’autres données lors de toute prochaine écriture de données.

Travaux pratiques

Travail demandé

Créer un document informatisé dans lequel vous noterez:

Ce document sera votre BASE DE CONNAISSANCES. Il vous sera demandé à la fin du module comme élément d’évaluation.

Les tâches à réaliser sur ce document sont représentées par l’icône

Affichage du contenu du dossier

La commande ls vous permettra d’afficher le contenu du dossier courant, c’est-à-dire celui sur lequel est positionné le terminal:

$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

La commande ls -l permet d’avoir un affichage plus détaillé :

$ ls -l
total 32
drwxr-xr-x 2 linus linus 4096 avril  5  2019 Desktop
drwxr-xr-x 2 linus linus 4096 avril  5  2019 Documents
drwxr-xr-x 2 linus linus 4096 avril  5  2019 Downloads
drwxr-xr-x 2 linus linus 4096 avril  5  2019 Music
drwxr-xr-x 2 linus linus 4096 avril  5  2019 Pictures
drwxr-xr-x 2 linus linus 4096 avril  5  2019 Public
drwxr-xr-x 2 linus linus 4096 avril  5  2019 Templates
drwxr-xr-x 2 linus linus 4096 avril  5  2019 Videos

La commande ls -R permet d’obtenir une vision récursive (dossiers et sous-dossiers) :

ls -R
.:
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

./Desktop:

./Documents:

./Downloads:

./Music:

./Pictures:

./Public:

./Templates:

./Videos:

Il est possible de combiner les différentes options de la commande ls :

ls -Rl

Cependant, nous allons installer la commande tree (elle permet d’afficher une représentation “graphique” d’une arborescence).

Si la commande suivante échoue, aller voir cette page: SUDO

sudo apt-get install tree

Il existe également des explorateurs graphiques qui permettent d’avoir une vision arborescente du système de fichiers :

Création d’une arborescence de test

Ensuite, nous allons créer une arborescence de test grâce aux commandes mkdir (création de répertoire) et cd (déplacement du répertoire courant) :

cd
mkdir racine
cd racine
mkdir tronc.droit
mkdir tronc.gauche
cd tronc.droit
mkdir branche.est branche.sud-est branche.nord-est
cd
cd racine

Dans votre base de connaissances, indiquez (au minimum):

  1. quel est l’effet de la commande de la ligne 02
  2. quel est l’effet de la commande de la ligne 03
  3. quel est l’effet de la commande de la ligne 04
  4. quel est l’effet de la commande de la ligne 07
  5. quel est l’effet de la commande de la ligne 08

Afficher le contenu du dossier courant avec la commande ls.

Afficher l’arborescence en utilisant la commande tree:

tree

Nous allons maintenant naviguer dans cette arborescence.

Et utiliser la commande pwd. Que fait cette commande ?

$ cd racine/
# Maintenant nous sommes dans la racine
$ pwd
/home/tstn/racine

$ cd tronc.gauche
# Maintenant nous sommes sur le tronc gauche
$ pwd
/home/tstn/racine/tronc.gauche

$ cd ../
# Nous remontons au niveau précédent
$ pwd
/home/tstn/racine

Application

Effectuez les opérations suivantes:

  1. déplacez-vous dans la branche Sud-Est
  2. allez directement dans la branche Nord-Est
  3. allez sur le tronc gauche et créez les branches Ouest, Sud-Ouest et Nord-Ouest

Création de fichiers

La commande touch permet de créer un fichier vide. Elle permet aussi de modifier la date de modification du fichier à la date courante.

Par exemple, la commande touch lisezmoi.txt créera un fichier lisezmoi.txt vide.

Effectuez les opérations suivantes:

  1. créez un fichier feuille1 dans la branche Sud-Ouest en vous plaçant dans ce répertoire
  2. placez-vous dans le répertoire nommé racine et créez un fichier feuille2 dans la branche Nord-Est
  3. placez-vous dans la branche Est et créez un fichier feuille3 dans la branche Ouest

Création de sous-répertoires

Nous allons créer plusieurs répertoires dans la branche Est.

Pour cela, placez-vous dans cette branche et tapez la commande suivante:

mkdir cap89 cap90 cap91

Vérifiez les effets sur l’arborescence.

Nous allons maintenant créer une arborescence complète.

Pour cela, se déplacer dans le répertoire racine et taper la commande suivante:

mkdir -p tronc.haut/branche.nord

Vérifiez les effets sur l’arborescence.

Créez maintenant une arborescence plus complexe:

mkdir -p tronc.bas/branche.sud/cap179 tronc.bas/branche.sud/cap180  tronc.bas/branche.sud/cap181

Vérifiez les effets sur l’arborescence.

Exécuter la commande cd tronc.haut/branche.nord.

Exécuter ensuite la commande cd ../../tronc.bas/branche.sud

Enfin, exécuter plusieurs fois de suite la commande cd -. Que se passe-t-il ?

Exécuter la commande cd ../../tronc.droit/branche.est

Exécuter plusieurs fois de suite la commande cd -. Que peut-on conclure ?

Exercices

Vous devez répondre à ces questions, en vous déplaçant le moins possible. C’est-à-dire que vous ne devez vous déplacer que lorsque cela vous est demandé.

Exercice 1 (Manipulations basiques).

  1. Affichez les fichiers de votre répertoire utilisateur.
  2. Créez un fichier appelé ancien, sans utiliser un éditeur de texte.
  3. Copiez le fichier ancien vers un fichier appelé nouveau.
  4. Vérifiez la présence de ces deux fichiers.
  5. Effacez le fichier ancien.
  6. Vérifiez l’effacement.
  7. Créez un répertoire appelé : repertoireAvecUnNomSuperLongPourNePasAvoirEnvieDeLeTaperPlusDUneFois.
  8. Vérifiez sa présence.
  9. Déplacez vous dans ce répertoire [*].
  10. Copiez le fichier nouveau dans ce répertoire.
  11. Revenez dans votre home directory (3 solutions)
  12. Effacez le répertoire que vous avez créé précédemment.
  13. Vérifiez la suppression.

[*] vous pouvez utiliser la touche TAB après avoir taper les premières lettres de son nom: celui-ci sera complété automatiquement par le shell

Annexe

A propos de rmdir

Télécharger ce fichier programme.tar.gz:

wget http://tstn1.aezi.fr/ecole-23-24/_content/programme.tar.gz

Le décompresser :

tar xf programme.tar.gz

Se placer dans le dossier programme :

cd programme

Exécuter le programme:

./executable

Remonter d’un niveau et désinstaller:

cd ..
programme/desinstaller

Constater que la commande rmdir a évité de supprimer les données utilisateur