Não consigo limpar o syslog, mas posso removê-lo?

4

Por que o sudo /dev/null > /var/log/syslog e sudo > /var/log/syslog não funciona, enquanto o sudo rm /var/log/syslog funciona?!

    
por user259632 18.03.2014 / 21:09

3 respostas

11

Porque você esqueceu o comando crítico (neste caso, acho que você queria cat ).

sudo cat /dev/null > /var/log/syslog

Como você está executando /dev/null como root, e isso não é um programa.

EDITAR

Eu testei, e o acima também não funciona; o escalonamento de privilégios se aplica ao gato (não ao redirecionamento). Consegui truncar o syslog com o sudo, mas usei o dd da seguinte forma

sudo dd if=/dev/null of=/var/log/syslog
    
por Elliott Frisch 18.03.2014 / 21:11
7

O comando em que você está pensando provavelmente é

> /var/log/syslog

Nada mais é necessário. No bash e em outros shells, o > truncará imediatamente o arquivo, esvaziando-o. No entanto, quando você executa isso:

sudo /dev/null > /var/log/syslog

O sistema está tentando executar /dev/null como um comando e você receberá este erro:

sudo: /dev/null: command not found

Note, no entanto, que apesar disso, /var/log/syslog foi realmente esvaziado porque, como eu disse acima, o > é suficiente, nenhum comando é necessário.

    
por terdon 18.03.2014 / 21:24
0

truncate -s 0 /var/log/syslog

trabalhando para mim em 18.04. Consegui daqui:

link

    
por emvidi 13.03.2018 / 00:27

Tags