dmesg é um buffer de anel. Ou seja, quando atinge um determinado tamanho, dados antigos são descartados. Por causa disso, não funciona como um arquivo normal. É como os dados em /proc - quando você usa cat ou exibe de outra forma, você vê apenas o estado naquele instante.
Para contornar isso, as implementações mais recentes de dmesg incluem as opções -w ou --follow , que funcionam efetivamente como tail -f . Se você quiser capturar isso em um arquivo convencional em vez de um buffer de anel, você pode usar uma construção como:
dmesg --follow >> /path/to/file
Ou, se você quiser ver também o que está sendo capturado:
dmesg --follow | tee -a /path/to/file
Tal como acontece com tail -f , isto pode ser terminado com um simples sinal INT ou Ctrl - C .