fim do arquivo VS bytes contendo zero

0

Eu estava apenas brincando com o sistema para aprender a estender a memória swap. Então eu vim a saber sobre /dev/zero . É referido como irmão de /dev/null (eu o li em algum lugar).

Então eu corri man zero ,

A descrição diz:

       Reads  from /dev/null always return end of file (i.e., read(2) returns 0), whereas reads from /dev/zero always return bytes contain‐
   ing zero ('
       Reads  from /dev/null always return end of file (i.e., read(2) returns 0), whereas reads from /dev/zero always return bytes contain‐
   ing zero ('%pre%' characters).
' characters).

Qual é a diferença entre este fim de arquivo e bytes contendo zero? Eles não são a mesma coisa?

    
por luv.preet 03.08.2017 / 22:51

1 resposta

2

Talvez você esteja confundindo dois usos da frase "zero bytes"

  • uma contagem (zero) de bytes (/ dev / null)
  • uma contagem (diferente de zero) de bytes cujo valor é zero (/ dev / zero)

A diferença é provavelmente melhor ilustrada com um exemplo:

Leitura de /dev/zero

$ dd if=/dev/zero bs=8 count=1 | od
1+0 records in
1+0 records out
0000000 000000 000000 000000 000000
8 bytes copied, 0.000207568 s, 38.5 kB/s0000010

retorna um fluxo de bytes cujo valor ASCII é zero ( "bytes nulos" ); considerando a tentativa de ler a partir de /dev/null

$ dd if=/dev/null bs=8 count=1 | od
0+0 records in
0+0 records out
0000000
0 bytes copied, 0.000168108 s, 0.0 kB/s

retorna 0 bytes.

    
por steeldriver 04.08.2017 / 00:47