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.