Salvare una sessione di shell

A volte potrebbe essere utile salvare una sessione di shell, magari per riguardare tutte le operazioni compiute con calma o per postare un howto... .
Il modo più semplice di farlo è di usare il comando script, presente in quasi tutte le distribuzioni.

Basta indicare il nome del file in cui si vuole salvare la sessione:
pmate@pc:~$ script miasessione.log

Una volta lanciato il comando tutto quello che si farà sulla shell verrà "registrato" nel file miasessione.log fino a che non verrà impartito il comando
pmate@pc:~$ exit

Il file miasessione.log conterrà dunque i comandi impartiti, l'output che questi genereranno e il timestamp indicante l'inizio e la fine della registrazione.
Facciamo un esempio:
pmate@pc:~$ script miasessione.log

Script started on mar 18 mar 2008 01:44:23 CET

pmate@pc:~$ uname -a

Linux debian-laptop 2.6.22-3-686 #1 SMP Sun Feb 10 20:20:49 UTC 2008 i686 GNU/Linux

pmate@pc:~$ exit

exit

Script done on mar 18 mar 2008 01:44:38 CET


Se adesso diamo un bel cat:
pmate@pc:~$ cat miasessione.log

Script started on mar 18 mar 2008 01:44:23 CET

$ uname -a

Linux debian-laptop 2.6.22-3-686 #1 SMP Sun Feb 10 20:20:49 UTC 2008 i686 GNU/Linux

$ exit

exit


Per "pulire" il contenuto di miasessione.log dai caratteri di escape, che con il comando cat non vengono visualizzati ma con gli editor di testo (ad esempio vim) disturbano non poco la visualizzazione, basta dare:
pmate@pc:~$ col -bx <miasessione.log >miasessione.txt

Privacy Policy