Alcuni file di testo sotto Linux possono raggiungere rapidamente dimensioni tali da risultare inutilizzabili: i log del webserver o il "syslog" principale, tanto per ricordarne due, sono buoni esempi. Ma... è possibile "svuotarli" rapidamente, di modo da ripartire con una situazione "pulita"?

med

La risposta, ovviamente, è "sì"! Per svuotare/ripulire/azzerare un file di testo sotto Linux basta utilizzare questo comando:

> /percorso/file

med

In caso si ricevesse un errore di "permesso negato", sono necessari i privilegi di root. Riprovate quindi con

sudo > /percorso/file

Si noti che non è necessario arrestare il processo che utilizza lo specifico file prima di eseguire il comando: la pulizia del file degli accessi di Apache HTTP Server, ad esempio, può avvenire tranquillamente anche se httpd è ancora in esecuzione.

Alcuni esempi pratici:

  • Ripulire il log delle mail inviate: > /var/log/maillog
  • Svuotare il log con le richieste HTTP ricevute dal webserver (percorso di default su CentOS): > /var/log/httpd/access_log
  • Rimuovere tutti i messaggi dal syslog di CentOS: > /var/log/messages
  • Rimuovere tutti i messaggi dal syslog di Ubuntu: > /var/log/syslog

Questo non è però il metodo giusto per cancellare la cronologia dei comandi impartiti (history). Pur lanciando > ~/.bash_history, infatti, alcune righe rimangono. Il modo giusto è tramite l'apposito comando history -c.