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"?
La risposta, ovviamente, è "sì"! Per svuotare/ripulire/azzerare un file di testo sotto Linux basta utilizzare questo comando:
> /percorso/file
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
.