GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was passiert, wenn Sie eine Gerätedatei löschen?

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.


Linux
  1. Was ist die Inode-Nummer unter Linux?

  2. Was genau passiert, wenn ich eine Datei in der Shell ausführe?

  3. Was bedeutet Exec 3?

  4. Linux – Was passiert, wenn Sie ohne Zielpfad synchronisieren?

  5. Was ist das File Transfer Protocol (FTP)

Was ist umask unter Linux?

Unter Linux ist alles eine Datei – Teil 1

Kann Deb-Datei nicht auf Ubuntu 20.04 installieren? Folgendes müssen Sie tun!

Was ist eine .bashrc-Datei unter Linux?

Was ist eine .sh-Datei?

Was passiert, wenn ich lost+found lösche?