Os dispositivos no Unix agem como arquivos, mas não são os mesmos. Para alguns dispositivos, fazia mais sentido ao implementador do software do dispositivo tanto para leitura quanto para a escrita, para outros apenas implementar apenas um deles fazia mais sentido.
Não é porque /dev/pts/3
é um dispositivo de caracteres que você não pode ler a partir dele, outros dispositivos desse tipo existem onde você pode. Para o dispositivo pts
, pude ver que a leitura pode significar recuperar os caracteres da tela como uma matriz linear de screenwidth*screenheight
length, mas isso não é extremamente útil nem eficiente.
Embora esteja ficando um pouco antigo, Drivers de dispositivos Linux, capítulo 3 é uma leitura interessante sobre o assunto.