A opção de saída escolhida terá 2 bytes e exibirá o resultado como um número octal.
Então, o seu começa com o dígito 1
e o caractere \n
. Podemos ver isso mais fácil com od -cx
:
% od -cx f
0000000 1 \n 2 \n 3 \n 4 \n 5 \n 6 \n 7 \n 8 \n
0a31 0a32 0a33 0a34 0a35 0a36 0a37 0a38
0000020 9 \n
0a39
0000022
Com seu od -to2
, ele pegará esses 2 caracteres e os tratará como um "byte baixo e alto byte" de um número de 16 bits.
Portanto, o número funciona para 10 * 256 + 49 (o \n
é ASCII 10 e é o byte alto; o 1
é ASCII 49 e é o byte baixo). Essa soma é 2609.
2609, em octal, é 005061 - que é o primeiro número em sua saída. (Em hexa é a31, que também corresponde à saída od -cx
).
Então é isso que você está vendo; od está convertendo sua entrada em inteiros de 16 bits e exibindo-os em octal.