Propósito de / dev / zero?

47

Eu tentei cat /dev/zero e não pareceu fazer nada. Eu pesquisei /dev/zero , e ele diz que é basicamente um arquivo em branco com tamanho infinito. A cat está imprimindo um número infinito de caracteres inexistentes? Como é que isso funciona? Como ele fornece dados infinitos se for 0 bytes? Quais são os usos desse arquivo, se é possível criar um arquivo em branco?

    
por tkbx 31.01.2013 / 14:05

1 resposta

54

/dev/zero é um arquivo especial (neste caso, um pseudo-dispositivo) que fornece um fluxo interminável de caracteres nulos (assim, hex 0x00)? É por isso que o cat não está exibindo nada (mas tente executá-lo em od (octal dump)).

'arquivo em branco com tamanho infinito' não é 100% correto: não é um arquivo normal, mas um arquivo especial (mais como um 'fluxo' ou um gerador). Você pode ler o quanto quiser, por exemplo, com dd (como dd if=/dev/zero of=yourfile count=1024 bs=1024 ).

Não é realmente um arquivo em branco , nem usado para criar arquivos em branco: ele é usado para criar arquivos ou páginas de memória preenchidas com apenas zeros. Você também pode escrever para ele, fazendo com que ele funcione como um sumidouro (seu irmão mais popular /dev/null é mais comumente usado para isso).

    
por 31.01.2013 / 14:10