GNU/Linux >> Linux Esercitazione >  >> Linux

Cosa succede se elimini un file del dispositivo?

Questi sono semplicemente file (speciali). Servono solo come "puntatori" al dispositivo effettivo. (ovvero il modulo driver all'interno del kernel.)

Se qualche comando/servizio ha già aperto quel file, ha già un handle per il dispositivo e continuerà a funzionare.

Se qualche comando/servizio tenta di aprire una nuova connessione, proverà ad accedere a quel file e fallirà a causa di "file non trovato".

Solitamente questi file sono popolati da udev , che li crea automaticamente all'avvio del sistema e in occasione di eventi speciali come il collegamento di un dispositivo USB, ma puoi anche crearli manualmente usando mknod .


I file di dispositivo sono in realtà un alias del filesystem per una voce nella tabella dei dispositivi del kernel. Se guardi i file /dev con "ls -l" vedrai che hanno un numero di dispositivo maggiore e un numero di dispositivo minore. Se elimini i file dal filesystem, puoi sempre ricrearli usando gli strumenti appropriati per ricollegare il file speciale alla voce nella tabella dei dispositivi del kernel -- vedi mknod(1).


Da quel momento in poi, potranno accedervi solo i programmi che avevano quei dispositivi già aperti. Quindi, non è possibile smontare i filesystem. E con udev, un riavvio potrebbe ripristinare quei dispositivi. Uno strano modo per imparare unix.


Linux
  1. Liste di controllo accessi e unità esterne su Linux:cosa devi sapere

  2. Che cos'è il numero di inode in Linux?

  3. Cosa fa Exec 3?

  4. Linux:cosa succede quando esegui la sincronizzazione senza un percorso di destinazione??

  5. Cosa succede a un handle di file aperto su Linux se il file puntato viene spostato o eliminato

Cos'è umask in Linux?

Tutto è file in Linux – Parte 1

Non riesci a installare il file Deb su Ubuntu 20.04? Ecco cosa devi fare!

Che cos'è il file .bashrc in Linux?

Cos'è un file .sh?

Che cos'è un dispositivo loop durante il montaggio?