Système de fichier et structure des dossiers linux

Il y a 9 mois


Qu'est ce qu'un système de fichier ?


Le système de fichiers définit les conventions de nommage des fichiers, notamment le nombre maximal de caractères, les caractères autorisés et bien d'autres ...
Il permet également d'organiser les données sur votre disque dur.

Il en existe plusieurs types, dont voici les principaux :

Microsoft :

  • FAT 16 : Taille maximale d'un fichier : 4 Go. Nombre maximal de fichiers par partition : 65 524. La racine du disque est de plus limitée à 512 entrées (une entrée est un fichier ou un dossier). Volume de la partition max : 2 Go (voire 4 Go)
  • FAT 32 : Evolution du FAT 16, qui pousse la limite de taille à 2 To (2 000 Go). Le FAT 16 et le FAT 32 ont la particularité de beaucoup fragmenter les fichiers, d'où la nécessité de défragmenter régulièrement.
  • NTFS : apparu avec Windows NT, puis réutilisé par Windows XP, il permet de créer des partitions d'une taille allant jusqu'à 16 Eo (16 Exaoctets, soit 16 000 000 000 de Gigaoctets). Mais ce n'est pas tant la taille maximale qui est intéressante (on en est franchement loin) que les avantages que le NTFS procure à côté. Contrairement au FAT 32, c'est un système de fichiers journalisé qui récupère beaucoup mieux les données en cas de crash du disque. D'autre part, on peut donner des droits sur certains fichiers, les crypter, les compresser, etc.

Linux :

  • ext2 : C'est le système de fichiers qui a longtemps été utilisé sous Linux. Il a été développé par un français (Rémy Card) et présente la particularité de très peu se fragmenter. Ainsi, sous Linux et depuis longtemps, il n'y a pas besoin de faire de défragmentation.
  • ext3 : L'ext3 est très proche de l'ext2, à une différence majeure près : la journalisation. En effet, ext2 n'était pas journalisé et en cas de crash du disque, on risquait plus facilement une perte de données. Ce n'est plus le cas avec l'ext3.
    À noter que l'ext2 et l'ext3 sont parfaitement compatibles entre eux, dans un sens comme dans l'autre.
  • ext4 : Une amélioration de l'ext3, qui améliore la prise en charge des gros disques durs et diminue les problèmes de fragmentation des fichiers.

 

L'arborescence des dossiers principaux linux :


Cela peux varier d'une distribution à l'autre mais dans la plupart des cas cette liste est suffisament exhaustive.

/bin Il s'agit des commandes de bases.
/boot Ce dossier on y touche pas. Il y a toutes les informations pour le démarrage de l'os. Il peut également contenir le programme de démarrage grub.
/dev Pour device, c'est les fichiers liés aux périphériques.
/etc Pour editing text config, généralement on y met les fichiers de configuration.
/home Contient les répertoires des différents utilisateurs sous la forme /home/USER.
/lib Bibliothèques partagées (équivalent des DLL de Windows).
/lost+found Quand un disque crashe pour une raison ou pour une autre, on utilise le programme fsck pour réparer (équivalent de scandisk); c'est là qu'il dépose les fragments de fichiers perdus.
/mnt Utilisé pour monter temporairement un système de fichiers (disquette, CD-ROM...).
/opt Logiciels qui ne sont pas dans le gestionnaire de paquet.
/proc Un répertoire factice, dont les fichiers contiennent des infos sur l'état du système et des processus en cours d'exécution.
/root Le répertoire de l'administrateur système.
/sbin Les commandes de base nécessaires a l'administration système (vérification et réparation des disques, mise en place du réseau...).
/tmp Les fichiers temporaires.
/usr Les logiciels installés avec le système.
 ↳/usr/bin Les exécutables.
 ↳/usr/dict Les dictionnaires (pour les correcteurs d'orthographe et les craqueurs de mots de passe).
 ↳/usr/doc La doc.
 ↳/usr/etc Fichiers de config.
 ↳/usr/games Les jeux.
 ↳/usr/include Les fichiers d'en-tête pour la programmation.
 ↳/usr/info La doc au format GNU info.
 ↳/usr/lib Les libs partagés entre les applications.
 ↳/usr/local Une sous-hiérarchie qui contient des logiciels compilés sur place à partir des sources. Organisation similaire à /usr.
 ↳/usr/man Le manuel. Les fichiers sont compressés.
 ↳/usr/sbin Principalement les serveurs réseaux.
 ↳/usr/share Fichiers de données.
 ↳/usr/spool Généralement un lien symbolique vers /var/spool.
 ↳/usr/src Les sources de certains logiciels, principalement le noyau de Linux.
 /var Données fréquemment réécrites, variables et diverses.

Si vous avez d'autres infos pour enrichir cet article je suis preneur.