Linux_Filetype - Kasimashi/Systemes-embarques GitHub Wiki
On trouve plusieurs types de fichier sous Linux : on remarque aussi ceci dans l'interface utilisateur avec la coloration dans un terminal.
Pour connaitre le type de fichier on peux écrire sous linux la commande file
ou encore ls -l
qui nous informe de la nature du fichier.
Pour les fichiers caractère et blocs , ces derniers sont associés à un pilote et une instance numéroté ainsi :
Par exemple pour loop7 est associé au pilote 7 et l'instance 7.
Type de fichier | Commande pour créer le fichier | Situé dans | Type de fichier dans la commande ls
|
Sortie de la commande file
|
---|---|---|---|---|
Fichier régulier | touch | N’importe quel répertoire/dossier | – | PNG, ASCII text, Zip archive data, etc. |
Fichier de répertoire | mkdir | C’est un répertoire | d | directory |
Les fichiers blocs | fdisk | /dev | b | bloc special |
Fichier de périphériques de caractères | mknod | /dev | c | character special |
Fichiers de tuyaux | mkfifo | /dev | p | FIFO |
Fichiers de liens de symboles | ln -s | /dev | l | symbolic link to |
Fichiers de socket | appel système socket() | /dev | s | socket |
Les fichiers réguliers sont des fichiers ordinaires sur un système qui contient des programmes, des textes ou des données. Il est utilisé pour stocker des informations telles que du texte ou des images. Ces fichiers sont situés dans un répertoire/dossier. Les fichiers normaux contiennent tous les fichiers lisibles tels que les fichiers texte, les fichiers Docx, les fichiers de programmation, etc., les fichiers binaires, les fichiers image tels que JPG, PNG, SVG, etc., les fichiers compressés tels que ZIP, RAR, etc.
Le seul travail des fichiers de répertoire est de stocker les autres fichiers réguliers, les fichiers de répertoire et les fichiers spéciaux et leurs informations associées. Ce type de fichier sera indiqué en bleu avec des liens supérieurs ou égaux à 2. Un fichier répertoire contient une entrée pour chaque fichier et sous-répertoire qu’il héberge. Si nous avons 10 fichiers dans un répertoire, nous aurons 10 entrées dans le fichier répertoire. Nous pouvons naviguer entre les répertoires en utilisant la commande cd
Les périphériques sont représentés par des fichiers, appelés fichiers spéciaux et situés dans le répertoire /dev. En voici quelques exemples :
3 caractéristiques sont associées à un fichier spécial:
- un mode
- un numéro majeur : il sert à connaître le type de périphérique. Sur les exemples ci-dessus, on constate que le numéro majeur 4 est utilisé pour les terminaux, 3 pour les disques durs IDE, 6 pour les imprimantes, 23 pour le pilote de mon lecteur de CD-ROM Mitsumi et 4 pour les ports séries.
- un numéro mineur : il sert à préciser le périphérique parmi plusieurs du même type. Par exemple, pour les imprimantes (majeur 6), le mineur 0 est associé à lp0 et le mineur 1 à lp1.
La commande cat /proc/devices
vous donne, pour les modes caractère et bloc, les numéros majeurs actuellement reconnus par les drivers chargés en mémoire.
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
6 lp
7 vcs
10 misc
13 input
21 sg
29 fb
99 ppdev
116 alsa
128 ptm
136 pts
153 spi
180 usb
189 usb_device
226 drm
249 hidraw
250 bsg
251 rtc
252 dax
253 tpm
254 gpiochip
Block devices:
7 loop
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
252 pktcdvd
253 device-mapper
254 mdp
259 blkext
Un périphérique bloc représente un dispositif matériel qui lit ou écrit des données sous forme de blocs de taille fixe. Contrairement aux périphériques caractère, un périphérique bloc fournit un accès direct aux données stockées sur le périphérique. Un lecteur de disque est un exemple de périphérique bloc. Ces fichiers sont des fichiers matériels et la plupart d’entre eux sont présents dans /dev.
La commande lsblk
permet d'afficher une liste des périphériques bloc disponibles sur le système.
Un périphérique caractère représente un dispositif matériel qui lit ou écrit en série un flux d'octets. Les ports série et parallèle, les lecteurs de cassettes, les terminaux et les cartes son sont des exemples de périphériques caractère.
L’autre nom de canal est un canal « nommé », parfois appelé FIFO. FIFO signifie « First In, First Out » et fait référence à la propriété selon laquelle l’ordre des octets entrants est le même à la sortie. Le « nom » d’un canal nommé est en fait un nom de fichier dans le système de fichiers. Ce fichier envoie des données d’un processus à un autre afin que le processus récepteur lise les données de la manière premier entré, premier sorti.
Un fichier de lien de symbole est un type de fichier sous Linux qui pointe vers un autre fichier ou un dossier sur votre appareil. Les fichiers de liens de symboles sont également appelés Symlink et sont similaires aux raccourcis de Windows.
Un socket est un fichier spécial utilisé pour transmettre des informations entre les applications et permet la communication entre deux processus. Nous pouvons créer un fichier socket en utilisant l’appel système socket(). Un fichier de socket se trouve dans /dev du dossier racine ou vous pouvez utiliser la commande find / -type s pour rechercher des fichiers de socket.