The script command in Linux can be very useful for logging the set of commands you do either for finding out exactly what you did or for logging students' usage of a terminal. However, the output encoding ends up spitting out a number of weird characters. This, unfortunately, is working as intended. Therefore, there are a few things that can be done to read it more cleanly.
Note that this will not copy passwords, as that does not show up in the terminal, it will show what you did through an ssh session, and it will NOT show you what you did through something like nano. If you are working with a number of files and editing them, I would recommend copying the file and using the diff command to create a patch file.
Simply using cat to output the file works fine. All the coloring works and all the commands used work. I recommend using the option -n to view the file since it can very much just blend in with your own terminal session.To be more complex, using
cat -n scriptfile | more
Running output through colSimply running the file that you just created using script in the normal method through col will clean out most of the odd characters in the script file. This cleans up the file significantly, but makes it much more difficult to read through cat and coloring will still be messed up. Running the command
cat scriptfile | col -b > newfile
Modifying the shell when running
Running the following command seems to work for making a file that's easier to read in a standard text editor. However, your terminal prompt simply becomes a $, which, for those of you who are used to it show you what computer and what directory you're in, can be disorienting.
SHELL=/bin/sh PS1="$" script abc.log
less and more
less, with the options N (line numbers) and R (color formatting), will output the file in a manner that's readable, but leaves some of the "M^" characters in. This is, however, much better than reading it straight through something like nano.more works well, formatting wise, but it might be nice to have line numbers still printed, so you can run
nl filename | more