How To Record Everything You Do In Terminal

Record Everything You Do In Terminal

A few days ago, we published a guide that explained how to save commands in terminal itself and use them on demand. It was very useful for those who don’t want to memorize a lengthy Linux command. Today, in this guide, we are going to see how to record everything you do in Terminal using ‘script’ command. You just ran command, or you created a directory, or you installed an application in Terminal. Script command simply saves whatever you do in the Terminal. You can then view them if you want to know what you did few hours or few days ago. I know I know, we can use UP/DOWN arrow keys or history command to view previously running commands. However, you can’t view the output of those commands. But, Script command records and displays complete terminal session activities.

script command creates a typescript of everything you do in the Terminal. It doesn’t matter whether you install an application, create a directory/file, remove a folder. Everything will be recorded, including the commands and the respective outputs. This command will be helpful who wants a hardcopy record of an interactive session as proof of an assignment. Whether you’re a student or a tutor, you can make a copy of everything you do in the Terminal along with all outputs.

Record Everything You Do In Terminal using script command in Linux

script command comes pre-installed on most modern Linux operating systems. So, let us not bother about the installation.

Let us go ahead and see how to use it in real time.

Run the following command to start the Terminal session recording.

script -a my_terminal_activities

Where, -a flag is used to  append the output to file or to typescript, retaining the prior contents. The above command records everything you do in the Terminal and append the output to a file called ‘my_terminal_activities’.

Sample output would be:

Script started, file is my_terminal_activities

Now, run some random Linux commands in your Terminal.

mkdir ostechnix
cd ostechnix/
touch hello_world.txt
cd ..
uname -r

After running all commands, end the ‘script’ command’s session using command:

exit

Sample output:

exit
Script done, file is my_terminal_activities

As you see, the Terminal activities have been stored in a file called ‘my_terminal_activities’ and saves it in the current working directory.

To view your Terminal activities, just open this file in any editor or simply display it using ‘cat’ command.

cat my_terminal_activities

Sample output:

Script started on Thu 09 Mar 2017 03:33:44 PM IST
[sk@sk]: ~>$ mkdir ostechnix
[sk@sk]: ~>$ cd ostechnix/
[sk@sk]: ~/ostechnix>$ touch hello_world.txt
[sk@sk]: ~/ostechnix>$ cd ..
[sk@sk]: ~>$ uname -r
4.9.11-1-ARCH
[sk@sk]: ~>$ exit
exit

Script done on Thu 09 Mar 2017 03:37:49 PM IST

As you see in the above output, script command has recorded all my activities, including the start and end time of the script command. Awesome! The reason to use script command is it’s not just records the commands, but also the command’s output as well. To put this simply, Script command will record everything you do on the Terminal.

Conclusion

Like I said, script command would be useful for students, teachers and any Linux users who wants to keep the record of their Terminal activities. Even though there are many CLI and GUI to do this, script command is an easiest and quickest way to record the Terminal session activities.

And, that’s all. Hope this helps. If you find this guide useful, please share it on your social networks and support OSTechNix.

Cheers!

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You may also like...

  • Alastair Montgomery

    You could setup an alias with would timestamp your recorded sessions.

    alias rec=’script -aq ~/term.log-$(date “+%Y%m%d-%H-%M”)’

    • SK

      Thank you. I never know this trick. Much appreciated. I will update your points in the guide soon.

  • cmcanulty

    is there a way to have it always saved to a certain location, say for example/home/user/documents/my scripts?

  • SK

    Yes, just use “script -a /home/user/documents/myscripts”. All commands will be stored in the specified file.