Olhando para o conteúdo do arquivo de um dispositivo de caractere [duplicado]

1

Por que é possível ver o conteúdo do arquivo de um dispositivo de bloco como /dev/sda usando cat ou um editor hexadecimal? Por que não posso fazer o mesmo com um dispositivo de caractere como /dev/pts/3 ?

    
por Gray 02.09.2014 / 05:10

3 respostas

0

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.

    
por 02.09.2014 / 05:39
0

Isso não é (necessariamente) uma distinção entre dispositivos de caracteres e de bloco. Por exemplo, /dev/urandom é um dispositivo de caractere e você certamente pode usar cat nele.

No seu caso, /dev/sda refere-se ao armazenamento que já existe, portanto, a leitura dele lê o armazenamento existente. No entanto, /dev/pts/3 é um pseudo-terminal e lê blocos (esperas) até que o próximo caractere de entrada esteja pronto.

Uma diferença adicional é que você pode procurar em um local específico em um dispositivo que fornece acesso ao armazenamento persistente, mas não pode procurar em um terminal.

    
por 02.09.2014 / 05:35
0

Isto explica para que /dev/pts/3 e o que você pode fazer com isso. /dev/sda aponta para seu HDD / SSD que você pode ler e gravar. Quando você edita dados em /dev/sda , está gravando diretamente na unidade e não necessariamente em uma partição. Se você fizer isso, poderá corromper uma partição para que geralmente não seja usada para salvar dados. Em alguns casos, no entanto, é conveniente escrever diretamente no disco (por exemplo, dd para apagar com segurança um disco). No Unix, tudo é um arquivo, mas você não pode ler e / ou gravar em todos os arquivos.

    
por 02.09.2014 / 05:52