Linux: Record a Terminal Session, Logging Shell Output

By Xah Lee. Date:

If you do a lot sys admin work, or you want a record of your shell session, you can log it to a file. There are several ways to do this.

Set Terminal Scrollback to Unlimited, Copy and Save

One way is set your terminal to unlimited scrollback, then, just select all, copy, then paste and save in a editor.

To set unlimited scrollback, in gnome-terminal, it's under menu 〖Edit ▸ Profile Preferences ▸ Scrolling〗 tab. If your terminal doesn't have unlimited/infinite option, just use a big number.

Then, when you need to save session, just pull menu 〖Edit ▸ Select All〗 , then 〖Edit ▸ Copy〗 , then paste it in a editor.

gnome terminal scrollback preference
Gnome Terminal Scrollback Preference

This is a nice solution, but the problem is, in some dumb terminal such as Ctrl+Alt+F1 Virtual Console, there's no menu or copy and paste.

Using “script” Command to Log Session

Start logging like this script ~/session.log.

Stop logging by exit.

Problem with this solution is:

Using Shell inside Emacs

Best is to use shell inside emacs. That way, you don't have to worry whether you forgot to start to log it. Just save it to a file anytime.

Start emacs, then call shell to start shell. To save, call write-file. For a detailed tutorial, see: Emacs Shell Tutorial (Bash, cmd.exe, PowerShell).

Add Timestamp to Your Shell Prompt

When logging, it's good to have timestamp. see:

Linux: Bash Prompt Setup

Linux Shell Basics

  1. Get System Info
  2. Shell Basics
  3. grep, cat, awk, uniq
  4. sort
  5. find, xargs
  6. diff Files/Dir
  7. dir size: du
  8. dir tree
  9. tar gzip bzip2 xz 7zip rar zip
  10. wget, curl, GET, HEAD
  11. rsync
  12. Install Packages

Sys Admin

  1. Job Control
  2. ps
  3. top
  4. htop
  5. RAM stat
  6. Users and Groups
  7. File Permission
  8. Opened Files: lsof
  9. shutdown, sleep

Bash/Terminal

  1. Bash Keys, Terminal Keys, Man Page Keys
  2. Bash Prompt Setup
  3. Bash Color Prompt
  4. .bashrc, .profile, .bash_profile
  5. Virtual Console
  6. Terminal Control Sequence Keys
  7. Reset Terminal
  8. tmux
  9. man page
  10. Bash Manual in Chapters
  11. BASH Shell Misc Tips
  12. Log Terminal Session

Linux Desktop

  1. Most Useful GUI Apps
  2. Set Default App
  3. Shell Commands for GUI Apps
  4. Image Viewers
  5. Music Players
  6. Move File to Trash by Command
  7. X11 Selection and Clipboard
  8. How to Switch to LXDE, Xfce
  9. LXDE Keyboard Shortcuts
  10. LXDE/Openbox, Change Keyboard Shortcuts
  11. LXDE Set Key Repeat Rate
  12. LXDE/OpenBox, Disable Mouse Scroll Wheel Hide Window
  13. Xfce Keyboard Shortcuts
  14. Xfce Good Themes
  15. xmonad Keybinding
  16. How to Restart X11
  17. Why Tiling Window Manager Sucks
  18. Standard Fonts
  19. How to Install Font

If you have a question, put $5 at patreon and message me.