O c
na primeira coluna da saída ls
significa que esse é um caractere arquivo de dispositivo . Não é um arquivo normal e não tem "conteúdo".
Quando você abre e lê um arquivo comum, o kernel executa um código padrão que busca os dados do arquivo do seu disco rígido (ou armazenamento similar). Mas quando você acessa um arquivo de dispositivo, o kernel executa o código (o "driver de dispositivo") que é específico para esse dispositivo. Aparentemente, os autores do driver de dispositivo lightnvm projetaram seu código de tal maneira que não faz sentido ler esse dispositivo em particular, e assim seu código diz que tentar fazer isso deve falhar com um erro.
(O mais provável é que o código que precisa usar este dispositivo seja gravado nesse arquivo - o nome control
sugere que você deve escrever para ele para enviar comandos para o dispositivo. Também pode ser destinado a ser nem lido nem escrito, mas acessado usando a chamada do sistema ioctl()
.
Geralmente não é uma boa ideia mexer com os "arquivos" em /dev
, a menos que você realmente saiba o que está fazendo. Escrever em arquivos de dispositivos arbitrários pode ser muito perigoso; Por exemplo, echo hello >/dev/sda
tornaria seu sistema não inicializável, e seria muito difícil recuperar seus arquivos. Até mesmo a leitura de arquivos de dispositivos pode ser perigosa em alguns casos ou, pelo menos, causar um comportamento inesperado.