Linux-Shell Sitzung mitschneiden

Gerade eben musste ich es wieder googlen - und bevor ich es wieder vergessen, poste ich es hier. 🙂

Das Mitschneiden einer aktiven Linux-Shell Sitzung, beispielsweise weil man eine Installation mitdokumentieren will, ist trivial und geht mit einem kleinen Tool names script - die meisten Distributionen liefern es mit.

Ein einfaches Beispiel ist:

 1$ script testfile
 2Script started, file is testfile
 3
 4$ uptime
 5 18:35:43 up 108 days, 20:40,  1 user,  load average: 0.00, 0.00, 0.00
 6
 7$ cat /proc/cpuinfo | head -n 10
 8processor       : 0
 9vendor_id       : AuthenticAMD
10cpu family      : 5
11model           : 10
12model name      : Geode(TM) Integrated Processor by AMD PCS
13stepping        : 2
14cpu MHz         : 497.998
15cache size      : 128 KB
16fdiv_bug        : no
17hlt_bug         : no
18
19$ exit
20exit
21Script done, file is testfile

Und schon ist das Log fertig:

1$ cat testfile
2Script started on Di 11 Okt 2011 18:35:41 CEST
3$ uptime
4 18:35:43 up 108 days, 20:40,  1 user,  load average: 0.00, 0.00, 0.00
5$ cat /proc/cpuinfo | head -n 10
6...

Auch das Anhängen von Ausgaben an ein bereits existentes Log ist möglich:

1$ script -a testfile
2Script started, file is testfile
3$ cat /proc/meminfo | head -n 2
4MemTotal:         248256 kB
5MemFree:           44816 kB
6$ exit
7exit
8Script done, file is testfile

...und siehe da:

1Script done on Di 11 Okt 2011 18:36:02 CEST
2Script started on Di 11 Okt 2011 18:37:15 CEST
3$ cat /proc/meminfo | head -n 2
4MemTotal:         248256 kB
5MemFree:           44816 kB
6...

Natürlich gibts noch mehr hilfsreiche Schalter - ich persönlich benutze die beiden oben genannten Funktionen am meisten. 🙂