Existe uma maneira de substituir / dev / null por um arquivo real?

2

Existe uma maneira de substituir o /dev/null device por um arquivo regular (ou um dispositivo que acrescenta a um arquivo, talvez)? Quantos dados são gravados para ele?

(Esta questão um pouco estranha é parcialmente inspirada por isto ..)

    
por dbr 27.10.2009 / 02:04

3 respostas

13

Aconselho veementemente que não faça isso ... dependendo do seu sistema, o arquivo resultante pode crescer muito rápido. No entanto, é muito fácil se divertir com uma VM.

Vou descrever como fazer isso durante uma sessão, ou seja, tudo deve estar de volta como estava após a reinicialização.

Obviamente, isso deve ser feito como root.

Primeiro, você precisa excluir o atual / dev / null :

rm /dev/null

Em seguida, crie um arquivo de substituição com o mesmo nome e algumas permissões adequadas:

touch /dev/null
chmod 666 /dev/null

Agora você pode visualizar o que é enviado para / dev / null :

tail -f /dev/null

Finalmente, para trazer / dev / null ao seu comportamento normal:

rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null
    
por 27.10.2009 / 03:05
1

Você pode excluir / dev / null e tocá-lo como root e restaurar suas permissões.

O dispositivo especial desaparece e você recebe um arquivo.

aproveite.

    
por 27.10.2009 / 03:02
1

No OpenBSD:

cd /dev
sudo mv null blah
sudo touch null
sudo chmod a+rwx null
echo foo > /dev/null

Alguns linuxes AFAIK possuem sistemas de arquivos de dispositivos especiais - devfs; udev - que pode complicar esse procedimento simples.

    
por 27.10.2009 / 03:05