O strings
comando se comporta de maneira estranha, aparentemente não para de gravar em um arquivo, mesmo que a unidade fique sem espaço. Ou talvez eu esteja perdendo alguma coisa?
Eu corro o seguinte:
# strings /dev/urandom > random.txt
isso continuou funcionando e não parou mesmo depois de encher o disco (um flash usb normal).
então para ser mais rápido criei um ramdisk e tentei novamente o mesmo comando. também não parou.
Entendo que urandom
não é um arquivo normal e também strings
a saída do 's é redirecionada, porém em ambos os casos acima, o cat
comando reportou o erro quando não havia mais espaço.
# cat /dev/urandom > random.txt
cat: write error: No space left on device
- Esse é o comportamento normal das strings? Se sim, por quê?
- Onde os dados são gravados depois que não há mais espaço?
Se o GNU
cat
não puder escrever o que leu, ele sairá com um erro :GNU
strings
, por outro lado, não se importa se conseguiu escrever com sucesso:Portanto, todas essas gravações falham, mas
strings
continuam alegremente, até atingir o final da entrada, que será nunca.