Ce sont simplement des fichiers (spéciaux). Ils ne servent que de "pointeurs" vers l'appareil réel. (c'est-à-dire le module de pilote à l'intérieur du noyau.)
Si une commande/un service a déjà ouvert ce fichier, il a déjà un handle vers l'appareil et continuera à fonctionner.
Si une commande/un service essaie d'ouvrir une nouvelle connexion, il essaiera d'accéder à ce fichier et échouera en raison de "fichier introuvable".
Habituellement, ces fichiers sont remplis par udev
, qui les crée automatiquement au démarrage du système et lors d'événements spéciaux comme le branchement d'un périphérique USB, mais vous pouvez également les créer manuellement à l'aide de mknod
.
Les fichiers de périphérique sont en fait un alias de système de fichiers pour une entrée dans la table des périphériques du noyau. Si vous regardez les fichiers /dev avec "ls -l", vous verrez qu'ils ont un numéro de périphérique majeur et un numéro de périphérique mineur. Si vous supprimez les fichiers du système de fichiers, vous pouvez toujours les recréer en utilisant les outils appropriés pour relier le fichier spécial à l'entrée dans la table des périphériques du noyau -- voir mknod(1).
À partir de ce moment, ils ne sont accessibles qu'aux programmes qui avaient déjà ouvert ces appareils. Il n'y a donc aucun moyen de démonter les systèmes de fichiers. Et avec udev, un redémarrage peut restaurer ces appareils. Une étrange façon d'apprendre Unix.