Vous êtes sur la page 1sur 11

Linux Essentials (Versión 1.6) | 2.

3 Utilisation des répertoires et liste des fichiers

2.3 Leçon 1
Introduction
Certification : Linux Essentials
Version : 1.6
Thème : 2 Trouver son Chemin sur un Système Linux
Objectif : 2.3 Utilisation des Répertoires et Listage des
Fichiers
Leçon: 1 sur 2

Fichiers et Répertoires

Le système de fichiers Linux est similaire aux systèmes de fichiers d’autres systèmes d’exploitation
car il contient des fichiers et des répertoires. Les fichiers contiennent des données telles que du texte
lisible par l’homme, des programmes exécutables ou des données binaires utilisées par l’ordinateur.
Les répertoires sont utilisés pour créer une organisation au sein du système de fichiers. Les
répertoires peuvent contenir des fichiers et d’autres répertoires.

$ tree

Documents
Mission-Statement.txt
Reports
  report2018.txt

1 directory, 2 files

Version: 2022-08-24     |     Licencié sous CC BY-NC-ND 4.0.     |     learning.lpi.org         |     117
Linux Essentials (Versión 1.6) | Sujet 2 : Trouver son chemin sur un système Linux

Dans cet exemple, Documents est un répertoire qui contient un fichier (Mission-Statement.txt) et un
sous-répertoire (Reports). Le répertoire Reports contient à son tour un fichier appelé report2018.txt.
Le répertoire Documents est dit être le parent du répertoire Reports.

Si la commande tree n’est pas disponible sur votre système, installez-la en utilisant le
gestionnaire de paquets de votre distribution Linux. Reportez-vous à la leçon sur la gestion des
paquets pour savoir comment faire.

Noms de Fichiers et de Répertoires

Les noms de fichiers et de répertoires dans Linux peuvent contenir des minuscules et des majuscules,
des chiffres, des espaces et des caractères spéciaux. Cependant, comme de nombreux caractères
spéciaux ont une signification particulière dans le shell Linux, il est conseillé de ne pas utiliser
d’espaces ou de caractères spéciaux lors de la dénomination des fichiers ou des répertoires. Les
espaces, par exemple, nécessitent le caractère d’échappement \ pour être saisis correctement :

$ cd Mission\ Statements

Aussi, en se référant au nom de fichier report2018.txt. Les noms de fichiers peuvent contenir un
suffixe qui vient après le point (.). Contrairement à Windows, ce suffixe n’a pas de signification
particulière dans Linux ; il est là pour la compréhension humaine. Dans notre exemple, .txt nous
indique qu’il s’agit d’un fichier en texte clair, bien qu’il puisse techniquement contenir n’importe
quel type de données.

Naviguer dans le Système de Fichiers

Obtenir la Localisation Actuelle

Comme les shells Linux tels que Bash sont basés sur du texte, il est important de se souvenir de votre
emplacement actuel lorsque vous naviguez dans le système de fichiers. L'invite de commande fournit
cette information :

user@hostname ~/Documents/Reports $

Notez que les informations telles que user et hostname seront traitées dans les prochaines sections.
Grâce à l’invite, nous savons maintenant que notre emplacement actuel se trouve dans le répertoire
Reports. De même, la commande pwd (print working directory) affichera le répertoire de travail :

118     |         learning.lpi.org     |     Licencié sous CC BY-NC-ND 4.0.     |     Version: 2022-08-24
Linux Essentials (Versión 1.6) | 2.3 Utilisation des répertoires et liste des fichiers

user@hostname ~/Documents/Reports $ pwd


/home/user/Documents/Reports

La relation des répertoires est représentée par une barre oblique (/). Nous savons donc que Reports
est un sous-répertoire de Documents, qui est un sous-répertoire de user, qui est situé dans un
répertoire appelé home. home ne semble pas avoir de répertoire parent, mais ce n’est pas vrai du tout.
Le parent de home est appelé root (racine), et est représenté par la première barre oblique ( /). Nous
parlerons du répertoire root dans une section ultérieure.

Notez que la sortie de la commande pwd diffère légèrement du chemin donné à l’invite de commande.
Au lieu de /home/user, l’invite de commande contient un tilde (~). Le tilde est un caractère spécial
qui représente le répertoire personnel de l’utilisateur. Ce point sera abordé plus en détail dans la
prochaine leçon.

Listage des Contenus d’un Répertoire

Le contenu du répertoire actuel est listé avec la commande ls :

user@hostname ~/Documents/Reports $ ls
report2018.txt

Notez que ls ne fournit aucune information sur le répertoire parent. De même, par défaut, ls
n’affiche aucune information sur le contenu des sous-répertoires. ls ne peut que “voir” ce qui se
trouve dans le répertoire courant.

Changement du Répertoire Courant

La navigation dans Linux se fait principalement avec la commande cd. De l’anglais change directory.
En utilisant la commande pwd d’avant, nous savons que notre répertoire actuel est
/home/user/Documents/Reports. Nous pouvons changer notre répertoire actuel en entrant un
nouveau chemin :

user@hostname ~ $ cd /home/user/Documents
user@hostname ~/Documents $ pwd
/home/user/Documents
user@hostname ~/Documents $ ls
Mission-Statement.txt Reports

Depuis notre nouvel emplacement, nous pouvons “voir” Mission-Statement.txt et notre sous-

Version: 2022-08-24     |     Licencié sous CC BY-NC-ND 4.0.     |     learning.lpi.org         |     119
Linux Essentials (Versión 1.6) | Sujet 2 : Trouver son chemin sur un système Linux

répertoire Reports, mais pas le contenu de notre sous-répertoire. Nous pouvons retourner dans
Reports de cette manière :

user@hostname ~/Documents $ cd Reports


user@hostname ~/Documents/Reports $ pwd
/home/user/Documents/Reports
user@hostname ~/Documents/Reports $ ls
report2018.txt

Nous sommes maintenant de retour à la case départ.

Chemins Absolus et Relatifs

La commande pwd affiche toujours un chemin absolu. Cela signifie que le chemin contient chaque
niveau du chemin, du début du système de fichiers (/) au bout ( Reports). Les chemins absolus
commencent toujours par un /.

/
home
  user
  Documents
  Reports

Le chemin absolu contient toutes les informations nécessaires pour accéder à Reports depuis
n’importe quel endroit du système de fichiers. L’inconvénient est qu’il est fastidieux à taper.

Le deuxième exemple (cd Reports) était beaucoup plus facile à taper. Il s’agit d’un exemple de
chemin relatif. Les chemins relatifs sont plus courts mais n’ont de sens que par rapport à votre
position actuelle. Considérez cette analogie : Je vous rends visite à votre domicile. Vous me dites que
votre ami habite à côté de chez vous. Je comprendrai cette situation parce qu’elle est relative à ma
situation actuelle. Mais si vous me dites cela par téléphone, je ne pourrai pas trouver la maison de
votre ami. Vous devrez me donner l’adresse complète de la rue.

Chemins Relatifs Spéciaux

Le shell Linux nous donne des moyens de raccourcir nos chemins lors de la navigation. Pour révéler
les premiers chemins spéciaux, nous entrons dans la commande ls avec le drapeau -a. Ce drapeau
modifie la commande ls de manière que tous les fichiers et répertoires soient listés, y compris les
fichiers et répertoires cachés :

120     |         learning.lpi.org     |     Licencié sous CC BY-NC-ND 4.0.     |     Version: 2022-08-24
Linux Essentials (Versión 1.6) | 2.3 Utilisation des répertoires et liste des fichiers

user@hostname ~/Documents/Reports $ ls -a
.
..
report2018.txt

Vous pouvez vous référer à la page man de la commande ls comprendre ce que -a


NOTE
fait ici.

Cette commande a révélé deux résultats supplémentaires : Il s’agit de chemins spéciaux. Ils ne
représentent pas de nouveaux fichiers ou répertoires, mais plutôt des répertoires que vous
connaissez déjà :

Indique l'emplacement actuel (dans ce cas, Reports).

..

Indique le répertoire parent (dans ce cas, Documents).

Il n’est généralement pas nécessaire d’utiliser le chemin relatif spécial pour l’emplacement actuel. Il
est plus facile et plus compréhensible de taper report2018.txt que de taper ./report2018.txt. Mais
./report2018.txt a des utilisages que vous apprendrez dans les sections suivantes. Pour l’instant,
nous allons nous concentrer sur le chemin relatif du répertoire parent :

user@hostname ~/Documents/Reports $ cd ..
user@hostname ~/Documents $ pwd
/home/user/Documents

L’exemple de cd est beaucoup plus facile lorsqu’on utilise .. au lieu du chemin absolu. De plus, nous
pouvons combiner ce modèle pour remonter très rapidement dans l’arborescence des fichiers.

user@hostname ~/Documents $ cd ../..


$ pwd
/home

Version: 2022-08-24     |     Licencié sous CC BY-NC-ND 4.0.     |     learning.lpi.org         |     121
Linux Essentials (Versión 1.6) | Sujet 2 : Trouver son chemin sur un système Linux

Exercices Guidés
1. Pour chacun des chemins suivants, identifiez s’il est absolu ou relatif :

/home/user/Downloads absolu
../Reports relatif
/var absolu
docs relatif
/ absolu

2. Observez la structure de fichiers suivante. Note : Les répertoires se terminent par une barre
oblique (/) lorsque tree est invoqué avec l’option -F. Vous aurez besoin de privilèges élevés afin
d’exécuter la commande tree sur le répertoire racine (/). Ce qui suit est un exemple de sortie et
n’est pas indicatif d’une structure de répertoires complète. Utilisez-le pour répondre aux
questions suivantes :

$ sudo tree -F /

/
etc/
   network/
      interfaces
   systemd/
      resolved.conf
      system/
      system.conf
      user/
      user.conf
   udev/
   rules.d/
   udev.conf
home/
  lost+found/
  user/
  Documents/

12 directories, 5 files

Utilisez cette structure pour répondre aux questions suivantes.

Un utilisateur entre les commandes suivantes :

122     |         learning.lpi.org     |     Licencié sous CC BY-NC-ND 4.0.     |     Version: 2022-08-24
Linux Essentials (Versión 1.6) | 2.3 Utilisation des répertoires et liste des fichiers

$ cd /etc/udev
$ ls -a

Quel sera le résultat de la commande ls -a ?


rules.d et udev.conf

3. Saisissez la commande la plus courte possible pour chacun des cas suivants :
◦ Votre localisation actuelle est la racine (/). Entrez la commande pour naviguer vers
lost+found situé dans le répertoire home (exemple) :

$ cd home/lost+found

◦ Votre localisation actuelle est la racine (/). Entrez la commande pour naviguer vers le
répertoire nommé /etc/network/.
cd /etc/network

◦ Votre localisation actuelle est /home/user/Documents/. Naviguez vers le répertoire nommé


/etc/.

cd ../.. --> je me trouve à /


cd /etc --> je me trouve à /etc
◦ Votre localisation actuelle est /etc/systemd/system/. Naviguez vers le répertoire nommé
/home/user/.
cd ../.. --> je me retrouve dans le répertoire /etc
cd .. --> jeme retouve dans le répertoire /
cd /home/user --> je me retrouve dans le répertoire /home/user
4. Considérez les commandes suivantes :

$ pwd
/etc/udev/rules.d
$ cd ../../systemd/user
$ cd ..
$ pwd

Quel est le résultat de la commande pwd finale ?

systemd/

Version: 2022-08-24     |     Licencié sous CC BY-NC-ND 4.0.     |     learning.lpi.org         |     123
Linux Essentials (Versión 1.6) | Sujet 2 : Trouver son chemin sur un système Linux

Exercices d’Exploration
1. Supposons qu’un utilisateur ait entré les commandes suivantes :

$ mkdir "this is a test"


$ ls
this is a test

Quelle commande cd vous permettrait d’entrer dans ce répertoire ?


cd "this is a test"

2. Essayez à nouveau, mais après avoir tapé cd this, appuyez sur la touche TAB. Qu’est-ce qui est
maintenant affiché à l’invite ?

cd this
cd this \is \a \test
C’est un exemple d'autocomplétion, qui est un outil inestimable non seulement pour gagner du
temps, mais aussi pour prévenir les erreurs d’orthographe.

3. Essayez de créer un répertoire dont le nom contient un caractère \. Affichez le nom du


répertoire avec ls puis supprimez le répertoire.

124     |         learning.lpi.org     |     Licencié sous CC BY-NC-ND 4.0.     |     Version: 2022-08-24
Linux Essentials (Versión 1.6) | 2.3 Utilisation des répertoires et liste des fichiers

Résumé
Dans cette leçon, vous avez appris :

• Les bases du système de fichiers Linux


• La différence entre les répertoires parents et les sous-répertoires
• La différence entre les chemins de fichier absolus et les chemins de fichier relatifs
• Les chemins relatifs spéciaux . et ..
• Naviguer dans le système de fichiers à l’aide de cd
• Indiquez votre position actuelle en utilisant pwd
• Listez tous les fichiers et répertoires en utilisant ls -a

Les commandes suivantes ont été abordées dans cette leçon :

cd

Modifie le répertoire actuel.

pwd

Affiche le chemin du répertoire de travail actuel.

ls

Liste le contenu d’un répertoire et affiche les propriétés des fichiers.

mkdir

Crée un nouveau répertoire.

tree

Afficher une liste hiérarchique d’une arborescence de répertoires.

Version: 2022-08-24     |     Licencié sous CC BY-NC-ND 4.0.     |     learning.lpi.org         |     125
Linux Essentials (Versión 1.6) | Sujet 2 : Trouver son chemin sur un système Linux

Réponses aux Exercices Guidés


1. Pour chacun des chemins suivants, identifiez s’il est absolu ou relatif :

/home/user/Downloads absolu
../Reports relatif
/var absolu
docs relatif
/ absolu

2. Observez la structure de fichiers suivante. Note : Les répertoires se terminent par une barre
oblique (/) lorsque tree est invoqué avec l’option -F. Vous aurez besoin de privilèges élevés afin
d’exécuter la commande tree sur le répertoire racine (/). Ce qui suit est un exemple de sortie et
n’est pas indicatif d’une structure de répertoires complète. Utilisez-le pour répondre aux
questions suivantes :

$ sudo tree -F /

/
etc/
   network/
      interfaces
   systemd/
      resolved.conf
      system/
      system.conf
      user/
      user.conf
   udev/
   rules.d/
   udev.conf
home/
  lost+found/
  user/
  Documents/

12 directories, 4 files

Un utilisateur entre les commandes suivantes :

126     |         learning.lpi.org     |     Licencié sous CC BY-NC-ND 4.0.     |     Version: 2022-08-24
Linux Essentials (Versión 1.6) | 2.3 Utilisation des répertoires et liste des fichiers

$ cd /etc/udev
$ ls -a

Quel sera le résultat de la commande ls -a ?

. .. rules.d udev.conf

3. Saisissez la commande la plus courte possible pour chacun des cas suivants :
◦ Votre localisation actuelle est la racine (/). Entrez la commande pour naviguer vers
lost+found dans le répertoire home (exemple) :

$ cd home/lost+found

◦ Votre localisation actuelle est la racine (/). Entrez la commande pour naviguer vers le
répertoire nommé /etc/network :

$ cd etc/network

◦ Votre localisation actuelle est /home/user/Documents/. Naviguez vers le répertoire nommé


/etc/.

$ cd /etc

◦ Votre localisation actuelle est /etc/systemd/system/. Naviguez vers le répertoire nommé


/home/user/.

$ cd /home/user

4. Considérez les commandes suivantes :

$ pwd
/etc/udev/rules.d
$ cd ../../systemd/user
$ cd ..
$ pwd

Version: 2022-08-24     |     Licencié sous CC BY-NC-ND 4.0.     |     learning.lpi.org         |     127

Vous aimerez peut-être aussi