The script command is a Unix utility that records a terminal session. The scriptreplay command offers a replay function to script. The session is captured in file name typescript by default; to specify a different filename follow the script command with a space and the filename as such: script recorded_session.
The ttyrec program provides the same kind of functionality and offers several bindings.
Recorded shell sessions can be shared using online services. The advantage of sessions recorded in this format from the usual screencasts is that shell instructions can be easily copy/pasted from the player screen.