Inodes
Chaque fichier d'un système d'exploitation Linux/Unix est associé à un inode, à l'exception de Solaris ZFS, qui n'a pas d'inodes. Les inodes fonctionnent essentiellement de manière très similaire à une annexe d'un livre. Chaque Inode aura ci-dessous des informations sur le fichier.
1. propriétaire2. autorisations
3. taille
4. heure du dernier accès
5. temps de création
6. identifiant de groupe
7. Pointeurs vers des blocs de données associés au contenu du fichier
Remarque :Inode ne fournit cependant pas de nom de fichier.
Types de fichiers
Il existe essentiellement 5 types de fichiers dans n'importe quel système d'exploitation Unix.
1. Régulier
2. Répertoire
3. Liens symboliques (lien dur et lien souple)
4. Fichiers de périphérique (spécial caractère et périphérique spécial bloc)
5. Tubes nommés
Le caractère dans la première colonne de la commande ls -l identifie le type d'un fichier.
# cd / # ls -l bin lrwxrwxrwx 1 root root 9 Sep 19 15:41 bin -> ./usr/bin
- Regular files d Directories l Symbolic links b Block-special device files c Character-special device files p Named pipes
Fichiers et répertoires
Les fichiers réguliers peuvent stocker différents types de données et peuvent être facilement créés à l'aide de la commande tactile ou de l'éditeur vi. Les répertoires contiennent l'association entre les fichiers et/ou les répertoires et les numéros d'inode.
Liens souples
Comme le montre le diagramme, les liens symboliques ou les liens symboliques pointent simplement vers un autre fichier. Il ne contient que le chemin du fichier vers lequel il pointe
1. Méthode de création
# touch file1 # ln -s file1 link1 # ls -l -rw-r--r-- 1 root root 0 Sep 19 14:41 link1 lrwxrwxrwx 1 root root 5 Sep 19 15:41 link1 -> file1
2. La taille du lien symbolique créé dans l'exemple ci-dessus est le nombre de caractères dans le chemin d'accès (fichier1), qui est de 5 (il peut être absolu ou relatif).
3. Si vous supprimez le fichier d'origine (fichier1), le lien symbolique devient inutile.
4. Les liens symboliques peuvent résider sur différents systèmes de fichiers.
Liens physiques
Chaque fichier utilise au moins un lien physique. Ainsi, lorsque vous créez un nouveau fichier, une nouvelle entrée de répertoire est créée, appelée nombre de liens. Ainsi, lorsque vous créez un nouveau lien physique vers ce fichier, le nombre de liens augmente de 1.
1. méthode de création
# touch file1 # ls -l -rw-r--r-- 1 root root 0 Sep 23 13:19 file1 # ln file1 file2 # ls -l -rw-r--r-- 2 root root 0 Sep 23 13:19 file1 -rw-r--r-- 2 root root 0 Sep 23 13:19 file2 # ls -li 1282 -rw-r--r-- 2 root 0 root 0 Sep 23 13:19 file1 1282 -rw-r--r-- 2 root 0 root 0 Sep 23 13:19 file2 # find . -inum 1282 ./file1 ./file2
2. Le nombre de liens augmente d'un, chaque fois que vous créez un nouveau lien physique vers le fichier, comme indiqué ci-dessus.
3. Même si vous supprimez l'un des fichiers, cela n'a aucun effet sur l'autre fichier. Seul le nombre de liens diminue
4. Les liens physiques ne peuvent pas traverser le système de fichiers.
Fichiers de l'appareil
Dans le système d'exploitation UNIX, tout périphérique physique est associé à un fichier appelé fichier de périphérique . C'est une interface qui interagit avec les pilotes de périphériques. Contrairement à d'autres types de fichiers, ils ne contiennent aucune donnée dans des blocs de données, mais utilisent les inodes pour stocker le numéro majeur et mineur pour n'importe quel fichier de périphérique.
# cd /dev/ # ls -l crw-r----- 1 root tty 4, 0 Sep 23 12:51 tty0 brw-rw----- 1 root disk 8, 1 Sep 23 12:51 sda0
N° d'appareil principal – Pilote de périphérique spécifique requis pour accéder à un périphérique
périphérique mineur non – unité spécifique du type contrôlé par le pilote de périphérique.
Par exemple, si vous avez 10 imprimantes HP, le numéro majeur sera le pilote des périphériques d'impression HP et le numéro mineur sera l'instance de l'imprimante (1,2 .. jusqu'à 10).
Les fichiers de périphérique sont de 2 types
1. Caractère spécial
2. Blocage spécial
Fichiers d'appareils spéciaux pour les personnages
1. Le caractère "c" dans la première colonne de la sortie de la commande ls -l identifie un fichier de périphérique spécial de caractères
2. Les données sont accessibles sous forme de flux de données (caractère par caractère, 1 octet à la fois)
3. Exemple :tty, série, terminaux virtuels
# ls -l crw-r----- 1 root tty 4, 0 Sep 23 12:51 tty0
Bloquer le fichier de périphérique spécial
1. Le caractère « b » dans la première colonne de la sortie de la commande ls -l identifie un fichier de périphérique spécial de caractères
2. Les données sont accessibles selon la taille de bloc définie pour cet appareil
3. Exemple :Disque dur, CD/DVD
# ls -l brw-rw----- 1 root disk 8, 1 Sep 23 12:51 sda0
Canaux nommés
– Les canaux nommés sont des fichiers spéciaux utilisés pour les communications entre processeurs. Contrairement aux canaux normaux, vous pouvez lire et écrire dans les canaux nommés. Pour cette raison, ils sont également appelés FIFO (file in file out).
– mknod() ou mkfifio() sont des exemples courants qui utilisent des canaux nommés pour accéder au canal par son nom.
– Comme le montre l'exemple ci-dessous, 2 processus (gzip et cat) peuvent accéder simultanément au canal nommé pour y écrire et y lire des données.
# mkfifo test_pipe # gzip -9 -c > test_pipe < out.gz # cat file1 > test_pipe # ls -l test_pipe prw-rw----- 1 root root 0 Sep 23 12:51 test_pipe