Un dispositivo a caratteri (da character device) è, nei sistemi operativi Unix e Unix-like, un tipo speciale di file che rappresenta una periferica ( /dev/sda) o un dispositivo virtuale su cui è possibile effettuare operazioni di input/output per singoli byte, o comunque per quantità di dati non rigidamente predeterminate.
I dispositivi a caratteri sono caratterizzati da due numeri, detti major number e minor number, che li identificano internamente al kernel, e che sono specifici per la particolare implementazione.
Per esempio, in un sistema basato sul kernel Linux, il dispositivo a carattere /dev/lp0
, che rappresenta una stampante collegata alla porta parallela, ha il major number corrispondente a 6 ed il minor number a 0.
I dispositivi a caratteri, pur potendo esistere in qualsiasi punto del file system, sono tipicamente raccolti all'interno della directory /dev; essi presentano nomi e comportamenti che sono specifici per la particolare implementazione.
Per ragioni di sicurezza (dato che provvedono accesso diretto all'hardware) possono essere creati solo dal superuser (root) tramite l'apposito comando mknod.
Esempi tipici di dispositivo a caratteri sono quelli che rappresentano le porte seriali, oppure /dev/null o ancora /dev/zero.