As a System administrator, you will run a lot of commands in the Terminal everyday. Sometimes you might want to refer the entire command history along with all respective outputs. And, If you're a programmer and write a program that displays a really long output in Terminal, you can't scroll up to certain limit and can't view the entire output of your Terminal session. If you're a technical writer, you must include what command you used in the Terminal and it's output in your guides. So, I believe It is always a best idea to record the Terminal session, and keep it aside for future reference. There are many tools out there to record your Desktop. Unfortunately, there are no such tools for servers that only has CLI session. Luckily, we have a simple command called script that allows us to make typescript of everything printed on the Terminal.
Script command allows you to record everything you do in your Terminal, and saves the output in a text file. This command comes pre-installed with most Linux, and Unix-like operating systems. In this brief tutorial, let me show you how to use script command to record your Terminal session.
How to Use Script Command to Record Linux Terminal Activities
When you're ready to recording the Terminal activity, just type:
You will get a message something like below.
Script started, file is typescript
Now, everything you entered in the Terminal will be saved in a file called typescript.
Also, you can give a custom name to the typescript by specifying a file name of your choice as shown below.
$ script -a my_terminal_session
Now, Let us type few commands, and see how it works.
$ uname -a
$ cd /home/sk/Soft_Backup
$ ls -l
$ mkdir ostechnix
$ rmdir ostechnix
That's enough for now. You can try as many commands as you want to record. Once you are done, type 'exit' in the Terminal to stop recording.
exit Script done, file is typescript
As you see in the above screenshot, the script command's output will be stored in file called "typescript" in the current working directory.
Now, let us go ahead, and check what we did so far in the Terminal.
View Script Command Output
$ cat typescript
Script started on Friday 18 March 2016 01:29:06 PM IST sk@sk:~$ whoami sk sk@sk:~$ uname -a Linux sk 4.4.5-040405-generic #201603091931 SMP Thu Mar 10 00:34:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux sk@sk:~$ cd /home/sk/Soft_Backup sk@sk:~/Soft_Backup$ ls -l total 16 drwxrwxr-x 2 sk sk 4096 Nov 12 2014 Linux Soft drwxrwxr-x 5 sk sk 4096 May 30 2015 OS Images drwxrwxr-x 30 sk sk 4096 Mar 11 17:46 VHD's drwxrwxr-x 17 sk sk 4096 Dec 30 11:48 Windows Soft sk@sk:~/Soft_Backup$ mkdir ostechnix sk@sk:~/Soft_Backup$ rmdir ostechnix sk@sk:~/Soft_Backup$ exit exit Script done on Friday 18 March 2016 01:29:44 PM IST
Voila! As you see in the above output, Script command recorded and displayed everything I have entered in the Terminal. For the sack of easy reference, I have marked the commands that I executed in bold letters.
You could use the output for your assignment, or just save this output for future reference.
For further details, I recommend you to refer the man pages.
$ man script
That's all for now. If you want a hard-copy record of the Terminal session for future reference, or for an assignment, script command is good tool to try.
I rewrote script in Python: http://stromberg.dnsalias.org/~strombrg/pypty/ . Its chief benefit is that it has a “dated files” mode, so if you leave a session running overnight, a new file will be started for the new day. This makes it easier to look things up later. The distribution also includes script-replay, which makes it easy to move forward and back through a typescript; it has a curses interface (arrow keys) and a GTK (buttons) interface.
Hello Dan, I visited the link you have mentioned. Your script seems good and might be useful for users. If you have time, please write a review or how-to guide about your script with few examples and send it to me by using the contact form. If it is good, I will publish on our blog, and let us promote your script. Thank you for letting me about your script. https://ostechnix.com/contact-us/