La hiérarchie du système de fichiers Unix / Linux peut sembler assez intimidante pour ceux qui découvrent le système d’exploitation. C’était la même chose pour nous quand nous avons commencé. Mais ce mystérieux système de fichiers n’est pas si mystérieux après tout ; nous avons juste besoin d’explications pour accompagner les noms de répertoires.
Linux est un excellent système d’exploitation. Il fonctionne sur tout, d’un système monocarte à un super ordinateur. Mais pour les utilisateurs qui quittent un environnement Windows, le système de fichiers peut être intimidant. Linux gagne en popularité pour les jeux, en grande partie grâce à la Pont à vapeur. Mais ce sont des ordinateurs comme le Tarte aux framboises qui introduisent Linux à une nouvelle génération.
Jetons donc un coup d’œil à un système de fichiers Linux typique trouvé dans une installation moderne. Nous utilisons Kubuntu 22.04 mais la structure de répertoires sera la même pour un Raspberry Pi et un centre de données.
/ | Le répertoire racine à partir duquel tous les autres répertoires sont disponibles. |
poubelle | Les commandes essentielles (binaires) nécessaires au système sont conservées ici. |
démarrage | Fichiers du chargeur de démarrage (kernel, grub, initrd). |
développeur | Liens vers des fichiers de périphérique (disques durs, périphériques USB). |
etc | Héberger des fichiers de configuration spécifiques. |
domicile | Répertoire d’accueil des utilisateurs. |
bibliothèque | Bibliothèques pour les binaires |
perdu+trouvé | Contient des fichiers qui ont été supprimés ou perdus lors d’une opération de disque. |
médias | Points de montage pour supports amovibles (CD / DVD / USB) |
mnt | Point de montage temporaire |
opter | Progiciels d’application complémentaires |
proc | Système de fichiers virtuel pour les processus et le noyau. |
racine | Répertoire d’accueil de l’utilisateur root |
Cours | Données variables d’exécution. Informations sur le système en cours d’exécution depuis le dernier démarrage. |
sbin | Binaires système essentiels. |
srv | Données spécifiques pour les serveurs Web / FTP. |
système | Contient des informations sur le périphérique, les pilotes et le noyau. |
tmp | Les fichiers temporaires sont stockés ici. |
usr | Contient des commandes et des applications pour tous les utilisateurs. Hiérarchie secondaire, accès en lecture seule. |
var | Fichiers variables, fichiers qui sont censés changer souvent. Par exemple, les fichiers journaux. |
Vous avez la racine ?
Le point de départ du système de fichiers UNIX est le répertoire racine, souvent appelé /. C’est le début de chaque répertoire de notre système et généralement seul root, ou un utilisateur du groupe sudo pourra écrire n’importe quoi dans ce répertoire. La majorité des fichiers (le cas échéant) de ce répertoire sont en lecture seule pour les autres utilisateurs. L’utilisateur root a son propre répertoire personnel, où se trouvent les fichiers et répertoires nécessaires à son travail.
Du répertoire racine, nous passons à bin, abréviation de binaires. Dans ce répertoire, nous pouvons trouver les commandes essentielles absolues. Nous pouvons repérer des commandes telles que chat, grep, ls, moins etc. Ce répertoire est généralement conservé tel quel ; nous ne voulons pas installer notre casser tous les fichiers situés ici car cela pourrait rendre notre système inutilisable.
Binaires, applications et utilitaires
Le système de fichiers a de nombreux emplacements pour les commandes et les applications.
Pour les commandes et utilitaires critiques, nous avons poubelle. Ce répertoire contient de nombreuses commandes que nous utilisons sur le terminal, ls, cp, mv. Dans notre bureau Ubuntu, nous avons 2453 fichiers binaires rien que dans ce répertoire ! Le poubelle répertoire contient tout ce dont nous avons besoin pour avoir un environnement Linux utilisable. Le répertoire contient également les outils dont nous avons besoin pour maintenir le système, y compris les outils nécessaires lors de l’exécution en mode mono-utilisateur (un mode où un seul superutilisateur gère l’installation). Ainsi, nous laissons largement poubelle seul, car une pression incorrecte sur une touche pourrait faire tomber un système.
Un autre emplacement pour les commandes est sbin et c’est là que se trouvent les commandes absolument essentielles. Le péché sbin fait référence à « superutilisateur », un utilisateur root ou un utilisateur avec des privilèges sudo. Ces commandes sont réservées aux utilisateurs privilégiés et le répertoire contient des outils pour travailler avec les systèmes de fichiers, la mise en réseau et les services d’arrière-plan.
Et si nous voulons utiliser nos propres applications dans le terminal ? Pouvons-nous simplement les déposer dans poubelle ou sbin? La réponse est non. Ces répertoires doivent être laissés tels quels. Nos applications doivent résider dans /usr/local/bin ou alors /usr/bin/ afin qu’ils n’interfèrent pas avec d’autres répertoires. Un autre emplacement pour stocker nos propres applications est /opter/. Relativement peu d’applications utilisent ce répertoire. Sur notre machine de test, nous avons trouvé des répertoires pour Google Chrome, Balena’s Etcher et Zoom.
Les répertoires mystérieux
Il y a pas mal de répertoires qui peuvent laisser le nouveau venu Linux se demander « Que fait ce répertoire? » Le premier sur cette liste sacrée est etc. Prononcé « et-see », le etc Le répertoire contient les fichiers de configuration spécifiques à votre machine. Ici, nous trouvons des fichiers de configuration pour le Common Unix Print Service (tasses), les capteurs (température) et cron (commandes de planification à exécuter à des heures définies).
Le développeur répertoire est l’endroit où se trouvent les périphériques. Linux traite tout comme un fichier, y compris les périphériques physiques et c’est dans ce répertoire que nous pouvons les trouver. Les périphériques tels que les disques, les entrées et les consoles série (/dev/tty) résident ici. D’après notre expérience, nous avons utilisé ce répertoire pour localiser les interfaces USB vers série pour des appareils tels que Raspberry Pi Pico et d’autres microcontrôleurs.
Abréviation de bibliothèques, bibliothèque C’est là que nous pouvons trouver les bibliothèques essentielles au fonctionnement du système. Ici, nous pouvons trouver des bibliothèques de noyau et d’autres fichiers essentiels pour notre système. Les bibliothèques fonctionnent de la même manière que les fichiers DLL Windows.
Un répertoire au nom mystérieux, « perdu + trouvé » sonne plus à l’aise dans un terminal de bus. Mais ce répertoire est l’endroit où les données obsolètes/incomplètes sont conservées. Si jamais nous devions reconstruire des données, après une coupure de courant, une erreur ou un bogue imprévus, nous utiliserions fsck de même que perdu+trouvé.
Court pour Processus, proc est un point de montage pour le système de fichiers proc. Ce répertoire entier contient des fichiers qui affichent des informations sur les processus en cours d’exécution. Chaque processus est numéroté, un PID, que nous pouvons identifier en exécutant une commande telle que top, htop, ps ou bpytop. Nous avons utilisé top pour identifier notre processus de navigateur Chrome, puis utilisé le PID pour changer de répertoire dans le processus. En utilisant le proc répertoire, nous pouvons explorer les processus en cours d’exécution, les examiner pour les problèmes, les informations et extraire les données des processus en cours d’exécution.
Le Cours répertoire contient des informations sur le système depuis son démarrage. Toutes les commandes, qu’elles soient automatiques ou lancées par l’utilisateur, y laisseront une trace. Par exemple, lors de l’écriture de cette fonctionnalité, nous avons utilisé coup d’oeil pour enregistrer une partie de notre écran. Dans le Cours répertoire, nous avons trouvé le sous-répertoire pertinent contenant les données des applications.
Généralement utilisé pour les données spécifiques au site, srv est utilisé pour stocker des fichiers de données pour un service particulier. Si vous servez des pages Web, les scripts CGI peuvent être utilisés à partir de ce répertoire. Sur notre système de test, ce répertoire est vide car nous n’exécutons aucun service Web.
Travailler de la même manière que proc, système est un répertoire qui stocke des informations sur le noyau. Structuré en une série de répertoires pour les bus système, les périphériques, les micrologiciels, etc., il est plus facile de travailler avec cela pour trouver des PID bruts comme nous l’avons fait avec proc.
À l’intérieur de tmp répertoire sont une collection de fichiers et de répertoires temporaires. Ces fichiers et répertoires peuvent être supprimés sans préavis, alors assurez-vous de n’utiliser ce répertoire que pour les données dont vous n’avez plus besoin. Une astuce avec tmp c’est lorsque nous téléchargeons les fichiers d’installation, en les enregistrant dans tmp et l’exécution de l’installation signifie que nous n’avons pas à nous soucier du nettoyage des fichiers d’installation après utilisation.
Alors qu’est-ce que usr contenir? Hé bien, usr est l’un des répertoires les plus importants du système de fichiers Linux. Ici, nous trouvons tout le user-land (code qui s’exécute en dehors du noyau). Le /usr/bin/ Le sous-répertoire contient de nombreuses commandes que nous utilisons quotidiennement. D’autres sous-répertoires contiennent des bibliothèques pour les applications utilisateur (/usr/lib), les fichiers partagés tels que les polices et les icônes (/usr/partager) et les fichiers source du noyau Linux contenus dans /usr/src/.
Notre dernier répertoire nommé mystérieusement est var. Ce répertoire contient les fichiers dont la taille peut changer régulièrement. Les webmasters seront familiarisés avec ce répertoire car il est courant de servir un site Web en utilisant /var/www/. Le var est également le répertoire des fichiers journaux (/var/journal). Si quelque chose ne va pas, c’est le répertoire à consulter. Nous pouvons examiner les journaux du noyau, les journaux syslog et le journal dpkg, utilisés pour consigner les détails de l’installation d’applications à l’aide de dpkg ou apt. En réalité, apte a son propre sous-répertoire, /var/log/apte, qui contient term.log et history.log. Ces fichiers montrent les applications installées à l’aide d’apt. Nous avons repéré deux applications que nous avons installées pour cette fonctionnalité : arbreque nous avons utilisé pour cartographier la hiérarchie, et PV que nous avons utilisé pour ralentir la sortie de lister le contenu de la poubelle annuaire.
Il n’y a pas d’endroit comme à la maison (répertoire)
Chaque utilisateur a son propre répertoire personnel. Un espace où ils peuvent stocker leurs documents, travaux, vidéos, etc. En règle générale, les utilisateurs n’utiliseront que leur répertoire personnel, sans jamais s’égarer dans le système de fichiers principal. Si une application nécessite une configuration spécifique à l’utilisateur, elle sera enregistrée dans l’un des quelques répertoires cachés. Les répertoires qui commencent par un « . » sont cachés de la vue générale, mais nous pouvons les voir en utilisant le ls commande avec trois arguments. Le premier est -l et cela garantit que les données sont affichées sous forme de liste. Suivant est -h, qui formate les données en utilisant des valeurs qu’un humain comprendrait facilement (2048 Mo devient 2 Go, etc.). Finalement, le -un L’argument affiche tous les fichiers, même les fichiers cachés.
ls -lha
Pour obtenir une vue de la hiérarchie de votre système de fichiers Linux, utilisez le arbre commande. Comme vous pouvez le deviner, le arbre La commande répertorie le contenu des systèmes de fichiers dans une structure arborescente.
1. Ouvrez un terminal et mettez à jour vos référentiels de logiciels.
sudo apt update
2. Installez l’arborescence à l’aide du gestionnaire de packages apt.
sudo apt install tree
3. Utilisez l’arborescence pour afficher la structure de votre système de fichiers Linux. Nous limiterons la sortie à un seul niveau (-L 1) et uniquement les répertoires (-ré) et définissez le point de départ comme étant notre racine /.
tree -d -L 1
SUITE: Comment vérifier l’utilisation du disque sous Linux
SUITE: Comment tuer un processus sous Linux
SUITE: Comment trouver des fichiers sous Linux