Das sind einfach (spezielle) Dateien. Sie dienen nur als „Zeiger“ auf das eigentliche Gerät. (d. h. das Treibermodul im Kernel.)
Wenn ein Befehl/Dienst diese Datei bereits geöffnet hat, hat er bereits ein Handle für das Gerät und wird weiterarbeiten.
Wenn ein Befehl/Dienst versucht, eine neue Verbindung zu öffnen, versucht er, auf diese Datei zuzugreifen, und schlägt wegen "Datei nicht gefunden" fehl.
Normalerweise werden diese Dateien mit udev
gefüllt , das sie automatisch beim Systemstart und bei besonderen Ereignissen wie dem Anschließen eines USB-Geräts erstellt, aber Sie können diese auch manuell mit mknod
erstellen .
Gerätedateien sind eigentlich ein Dateisystemalias für einen Eintrag in der Gerätetabelle des Kernels. Wenn Sie sich die /dev-Dateien mit "ls -l" ansehen, sehen Sie, dass sie eine Hauptgerätenummer und eine Nebengerätenummer haben. Wenn Sie die Dateien aus dem Dateisystem löschen, können Sie sie jederzeit neu erstellen, indem Sie die entsprechenden Tools verwenden, um die spezielle Datei mit dem Eintrag in der Kernel-Gerätetabelle neu zu verknüpfen -- siehe mknod(1).
Von diesem Moment an können sie nur noch von Programmen aufgerufen werden, die diese Geräte bereits geöffnet hatten. Es ist also keine Möglichkeit, Dateisysteme auszuhängen. Und mit udev könnte ein Neustart diese Geräte wiederherstellen. Eine seltsame Art, Unix zu lernen.