Nei sistemi operativi Unix-like (come Linux, appunto), la notazione /dev/null corrisponde ad un file virtuale che ha la peculiare caratteristica di non memorizzare i dati che gli vengono inviati. In alter parole: su questo file virtuale è possibile scrivere qualsiasi cosa ma ogni volta che si cercherà di leggerlo non si otterrà alcun dato, proprio perché nessun dato viene memorizzato.
Solitamente /dev/null viene utilizzato per il reidirizzamento dell’output quando indesiderato: indicando /dev/null al termine di un comando di Linux, infatti, il sistema operativo non produrrà alcun output a video, in quanto questo verrà trasmesso, appunto, a /dev/null che, come abbiamo detto, non farà assolutamente nulla se non "mangiare i dati" senza salvarli da nessuna parte.
Per lanciare un comando all’interno della Shell di Linux senza la produzione di alcun output a video, quindi, si è soliti utilizzare la seguente sintassi:
comando &> /dev/null
E’ bene sottolineare che il rischio di una simile operazione è che non verranno stampati nemmeno eventuali messaggi di errore, quindi è bene utilizzare questa possibilità in modo attento onde evitare di perdere preziosi dati per l’eventuale debug degli errori di sistema.
Qualora si desideri reindirizzare a /dev/null solo lo standard output, ma non gli errori, la sintassi da utilizzare sarà:
comando 1> /dev/null
Viceversa, se si volesse inviare solo gli errori:
comando 2> /dev/null