Comment fonctionne le système de fichiers du Raspberry Pi ?
Le système de fichiers Linux est très spécifique et peut être difficile à comprendre pour les nouveaux utilisateurs de Raspberry Pi. Où sont mes fichiers ? Pourquoi y a-t-il autant de dossiers et de sous-dossiers ? Mon objectif dans cet article est de vous donner un aperçu du système de fichiers sur un Raspberry Pi (et sur tout appareil Linux).
Le système de fichiers Linux peut être vu comme un arbre. L’emplacement / est la racine, le tronc de l’arbre. Chaque sous-dossier est une grande branche (/home, /var, /etc, …), et ces branches ont également des branches plus petites (/home/pi, /var/www, /var/lib, …).
Nous allons commencer par un aperçu général du système de fichiers Linux (l’arbre), discuter des dossiers les plus utiles à connaître, puis voir les erreurs courantes dans l’utilisation du système de fichiers. L’idée de cet article est issue d’une enquête que j’ai envoyé à ma liste de diffusion, donc j’espère qu’il aidera au moins la personne qui a posé la question.
Si vous débutez avec Raspberry Pi ou Linux, j’ai quelque chose qui peut vous aider !
Téléchargez ma fiche mémo des commandes Linux gratuitement – c’est un guide de référence rapide avec toutes les commandes essentielles dont vous aurez besoin utiliser votre Raspberry Pi. Cliquez ici pour l’obtenir gratuitement !
Le système de fichiers du Raspberry Pi
La première chose à comprendre est que le Raspberry Pi n’utilise pas un arbre de systèmes de fichiers unique ; il suit une structure recommandée par la Linux Foundation appelée “Filesystem Hierarchy Standard” ou FHS. Ainsi, vous trouverez cette même hiérarchie sur toute distribution Linux.
Si vous voulez en savoir plus sur FHS, vous pouvez tout lire à ce sujet dans la documentation officielle ici.
L’arborescence Linux
J’ai introduit ce concept au début de l’article, mais je veux l’illustrer ici car c’est important. La plupart des erreurs courantes viennent d’une incompréhension à ce niveau (nous en parlerons plus tard).
Comme je l’ai mentionné, vous pouvez voir la hiérarchie des fichiers comme un arbre, avec “/” comme dossier racine, et chaque sous-dossier comme une branche. Dans le schéma ci-dessous, je l’ai présenté plus comme un organigramme, mais vous pouvez l’inverser pour mieux imaginer l’analogie avec un arbre.
Les cellules colorées représentent des dossiers, tandis que les cellules blanches représentent des fichiers.
En haut, il y a le dossier racine : /. Ensuite, /home et /etc sont des sous-dossiers — en d’autres termes, deux grandes branches principales (il y en a d’autres). Les sous-dossiers “pi” et “user2” appartiennent à /home, tandis que “passwd” et “hosts” sont deux fichiers dans /etc.
L’emplacement d’un fichier est identifiée comme ceci : /etc/passwd.
Donc, / et etc parce qu’il s’agit des dossiers où vous pouvez trouver le fichier, et ensuite vous ajoutez un autre / pour chaque sous-dossier et le nom du fichier à la fin.
Voici un autre exemple : /home/pi/Documents/MyDoc.doc. Vous devez passer par /, home, pi et Documents pour y accéder depuis le répertoire racine.
J’espère que cette notation est plus claire maintenant.
Format du système de fichiers
Je vois souvent cette question à propos du format de fichier utilisé par Raspberry Pi OS, mais je ne pense pas qu’elle soit pertinente. En fait, la Fondation Raspberry Pi utilise une partition de démarrage en format FAT (bonne nouvelle pour les utilisateurs de Windows car vous pouvez la lire et y écrire facilement), et un format Linux pour la partition principale (probablement EXT4).
C’est tout, vous avez l’information, mais vous ne pouvez rien en faire, car le format est inclus dans le fichier image et vous ne pouvez pas le contrôler.
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Dossiers utiles à connaître
Maintenant que vous comprenez que Raspberry Pi OS suit le FHS de Linux, vous vous demandez peut-être quels sont les répertoires standards sur Linux. Dans cette section, je vais passer en revue les plus couramment utilisés.
/home
Le dossier /home est l’abréviation de “home directories” (répertoires personnels).
Il contient un sous-dossier par utilisateur (par exemple : /home/pi).
Chaque répertoire utilisateur contient des données personnelles, comme les préférences, documents, fichiers téléchargés, etc.
Sur Raspberry Pi OS Desktop, chaque utilisateur aura plusieurs sous-dossiers par défaut :
- Vidéos
- Téléchargements
- Musique
- Images
- Bureau
- Etc.
C’est similaire à Windows sur ce point.
Remarque : Je donne /home/pi comme exemple pour cet article, en tant que dossier personnel utilisateur par défaut. Mais vous savez peut-être déjà que ce n’est plus le cas dans les versions récentes de Raspberry Pi OS. Dans votre système, c’est probablement un autre nom, comme /home/pat, si “pat” est le nom d’utilisateur que vous avez créé lors du premier démarrage.
/root
Le dossier /root est la même chose que /home, sauf qu’il est réservé à l’utilisateur administrateur.
En gros, nous ne l’utilisons pas sur Raspberry Pi.
Mais, si vous vous connectez en tant que root, ce dossier sera votre dossier personnel.
/etc
Le dossier /etc contient tous les fichiers de configuration.
Il y a plusieurs explications pour le nom, mais celle que je préfère est “Editable Text Configuration.”
Il y a quelques fichiers directement disponibles dans /etc, par exemple :
- /etc/resolv.conf: paramètres pour votre serveur DNS.
- /etc/crontab: pour la planification des tâches.
- /etc/sudoers: pour gérer les utilisateurs avec la permission sudo (en anglais).
Et pour des configurations plus complexes où il y a plusieurs fichiers de configuration, vous trouverez plus fréquemment un sous-dossier spécifique pour le programme ou le service. Par exemple :
- /etc/apache2 : Si vous utilisez apache comme serveur web, ce dossier contient tous les fichiers de configuration.
- /etc/ssh : Ce dossier contient des fichiers config pour le serveur et client SSH.
- /etc/php : Même chose que ci-dessus pour PHP.
Vous avez compris le concept : si vous recherchez un fichier de configuration, il est probablement quelque part sous /etc.
/var
Le dossier /var est l’abréviation de “variable files.”.
Il fait référence aux fichiers qui sont modifiés pendant l’exécution du programme (fichiers de log par exemple).
Voici les sous-dossiers /var les plus courants que vous devez connaître :
- /var/log : contient tous les fichiers de journalisation du système.
- /var/www : Si vous installez un serveur web, ce dossier contient les fichiers de votre site web (les fichiers publics doivent être dans /var/www/html).
- /var/lib/mysql : Ce dossier contient tous les fichiers de base de données pour un serveur MySQL. En général, d’autres moteurs de base de données gardent aussi leurs fichiers quelque part dans /var/lib.
- /var/mail : fichiers des boîtes mail.
/usr
Le répertoire /usr contient principalement des fichiers d’application que vous n’avez pas besoin de toucher (comme les binaires et les bibliothèques).
En général, j’utilise /usr/local/bin comme principal dossier pour mes scripts car j’ai appris comme ça, mais je ne sais pas si c’est une bonne pratique. Sauvegarder vos scripts (en anglais) dans votre dossier personnel comme /home/pat/scripts est probablement une meilleure idée.
/bin
Le dossier /bin est destiné aux binaires de commande essentiels.
Il n’y a pas de sous-dossiers dans celui-ci, juste des binaires comme ping, cp/mv/rm, et nano.
Ce sont les seuls binaires disponibles lorsque vous démarrez en mode monoutilisateur ; tout utilisateur peut les utiliser.
/opt
Je n’ai pas trouvé /opt dans la description standard, mais je l’utilise souvent, alors je l’ai ajouté ici.
/opt est l’abréviation d’optionnel, et il est principalement utilisé pour les paquets d’applications optionnels.
Je l’utilise généralement pour les applications que je télécharge depuis GitHub (en anglais) au lieu des dépôts officiels de Raspberry Pi OS. Par exemple, si vous installez AlexaPi sur votre Raspberry Pi, la documentation vous indique de télécharger les fichiers ici, puis vous pouvez appeler le binaire depuis /opt/AlexaPi.
/media et /mnt
Les dossiers /media et /mnt ne sont pas obligatoires, mais vous les utiliserez probablement pour les clés USB (en anglais).
En théorie, /mnt est pour les systèmes de fichiers montés temporairement et /media pour les médias amovibles.
Donc si vous montez un périphérique USB (en anglais), vous allez créer un dossier comme /media/usb et le monter dans ce dossier.
Conseils et erreurs courantes
Cette section contient une liste de conseils issus des erreurs que je vois souvent avec le système de fichiers Linux. Dans mon travail, je forme les nouveaux employés à l’utilisation de Linux, et je vois toujours les mêmes erreurs.
En passant, j’ai écrit un livre entier sur Linux, et en particulier sur les commandes Linux. Si c’est le genre de chose avec laquelle vous avez du mal, cela pourrait valoir la peine de prendre le temps de le lire. Vous pouvez trouver tous les détails ici (en anglais).
Savoir où vous vous trouvez
La plupart des erreurs peuvent être évitées si vous avez une idée claire de l’endroit où vous vous trouvez dans l’arborescence des fichiers Linux.
En général, le chemin actuel est écrit dans l’invite du terminal :
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Sur cette capture d’écran, vous avez l’utilisateur actuel, le nom de l’appareil et le chemin actuel : /var/log/apt
Si vous ne voyez pas de chemin, vous pouvez utiliser la commande suivante pour le trouver :pwd
Non, ce n’est pas l’abréviation de “password” mais de “print working directory.”
Il est crucial de savoir où vous êtes lorsque vous utilisez une commande.
Par exemple, si vous utilisez : sudo rm -rf *
pour supprimer tous les fichiers à l’emplacement actuel, vous feriez mieux de savoir exactement où vous vous trouvez ; exécuter cette commande au mauvais endroit détruira probablement votre système.
cd
Alors, disons que vous êtes dans /var/log/apt et que vous voulez aller dans votre dossier personnel.
Vous avez plusieurs options, qui fonctionnent toutes :
cd ..
cd ..
cd ..
cd home
cd pat
cd ../../..
cd home/pat
cd /
cd home/pat
cd /home/pat
Évidemment, le dernier exemple est le plus rapide, mais tous fonctionnent.
La faute la plus courante est de ne pas savoir quand utiliser /home/pat ou home/pat, par exemple.
Vous pouvez omettre le premier slash uniquement si vous êtes déjà dans le dossier racine.
Si vous êtes dans /home, vous pouvez utiliser : cd pat/Downloads
Si vous êtes dans /, vous pouvez utiliser : cd var/log
Mais la plupart du temps, c’est difficile à comprendre.
En général, je recommande toujours d’utiliser le premier / car même s’il existe une version plus courte possible, c’est plus facile à comprendre au début.
Par exemple, si vous êtes dans /home/pi, cd Downloads
et cd /home/pat/Downloads
fonctionnent, mais cd /Downloads
ne fonctionne pas car il n’y a pas de dossier Downloads dans le répertoire racine (/).
Si vous comprenez directement, parfait. Sinon, utilisez la version longue ; c’est mieux que d’essayer des choses pendant 10 minutes chaque fois que vous utilisez cd
.
Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !
Exécuter un script
Similaire à l’erreur ci-dessus, cette erreur est une erreur de syntaxe.
Quand vous exécutez un script, vous devez indiquer le chemin.
En général, quelque chose comme :
cd /home/pat/scripts
./myscript.sh
Mais si vous ne voulez pas utiliser la première commande, et exécuter le script directement (dans une crontab par exemple), quel chemin utilisez-vous si vous êtes dans le répertoire /home/pat ?
scripts/myscripts.sh
?./scripts/myscript.sh
?home/pat/myscript.sh
?/home/pat/myscript.sh
?
Oui, 1, 2 et 4 fonctionnent, mais pas 3.
C’est la même chose pour tout ce que vous voulez faire avec des fichiers.
Vous devez utiliser soit le chemin relatif, soit le chemin absolu (chemin complet depuis la racine), mais pas un mélange des deux.
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Vous voulez discuter avec d'autres passionnés de Raspberry Pi ? Rejoignez la communauté, partagez vos projets en cours et posez vos questions sur le forum (en anglais).
Conclusion
C’est tout, vous en savez maintenant un peu plus sur le fonctionnement du système de fichiers Linux. J’espère que vous avez aimé cet article et que vous vous souviendrez de quelques points après cela. Comme d’habitude, ce genre d’apprentissage demande de la pratique pour bien mémoriser à long terme.
Alors, ne vous arrêtez pas ici, utilisez Raspberry Pi OS Lite ou un terminal plus souvent, et comprenez vos erreurs ou pourquoi vous utilisez ces commandes. Existe-t-il une méthode plus courte pour faire la même chose (avec le chemin absolu, par exemple) ?
Si vous voulez plus d’aide sur l’utilisation du terminal, voici quelques articles qui devraient vous aider :
- 57 commandes à connaître sur Raspberry Pi
- Comment utiliser Nano
- Comment monter un lecteur USB sous Linux (en anglais)
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Ressources supplémentaires pour votre Raspberry Pi
Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant
Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici
Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant
Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources