Browsing all articles tagged with unix

How to Copy Terminal Session into a File

Have you ever wondered how to copy the output of your terminal into a text file? Or maybe you teach Linux and you want to see what your students typed in and as well as the output? You think that running history is not enough? Then you need the script command.

Running script command

Open the man page of script command and you will see this:

Script makes a typescript of everything printed on your terminal. It is useful for students who need a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1).

In a nutshell, it is history and tee all rolled into one. It will record everything you see on your screen, even the color. So if you typed in an invalid command, you will see the error in the log or if you run it correctly, you will have the output. But commands like top that refreshes the screen at an interval will most likely ruin the session or the log, so try to avoid similar commands.

To use it, just type the command script and it will begin recording the session. Once you are done, just type exit.

This is script in action:

rai@host1:~> script -a /tmp/script_test.log

Script started, file is /tmp/script_test.log
rai@host1:~> ls /home
R20 r200 R21 rai xx19
rai@host:~> thisnotacommandbutirunitanyway
bash: thisnotacommandbutirunitanyway: command not found
rai@host1:~> exit
Script done, file is /tmp/script_test.log
rai@host1:~> cat /tmp/script_test.log
Script started on Mon 17 Jan 2011 06:24:12 PM PHT
rai@lhost1:~> ls /home
R20 r200 R21 rai xx19
rai@host1:~> thisnotacommandbutirunitanyway
bash: thisnotacommandbutirunitanyway: command not found
rai@host1:~> exit

Script done on Mon 17 Jan 2011 06:24:54 PM PHT

The example above shows that script was started with -a option meaning it will append the output the specified file.

A better way to do this is to use it together with mkfifo command:

On Terminal 1 (Student’s terminal):

rai@host1:~> mkfifo /tmp/script_test.fifo
rai@host1:~> script -f /tmp/script_test.fifo

On Terminal 2 (Teacher’s terminal, same machine):

rai@host1:/tmp> cat /tmp/script_test.fifo

The above scenario will perform the following:
1) On the Student’s terminal, it will create an named pipe /tmp/script_test.fifo (man mkfifo) then run the script command with the -f option that ‘flushes’ out the output after each run. The Student’s terminal will look like it is not responding at this point, but don’t worry, it is perfectly normal.
2) On the Teacher’s terminal, the command cat will read the output file. Once you run the cat command, the session will be started.

Try the above steps and see how each screen behaves. Check also if doing the script command will create a populated output file.


Backspace Key Not Working in PuTTY

Author Rai    Category Linux     Tags , , , , , ,

If you access your Linux machines from a Windows workstations by SSH, most probably you are using PuTTY. My new job requires me to work with SUSE Enterprise servers and to my surprise, the VIM on SLES is somewhat different from that of RHEL.

One example is the backspace key. It just won’t work in PuTTY connecting to SUSE server. I have to put the cursor before the character I want to delete and press the DELETE key. If you have this issue with PuTTY/SUSE too, this tip might help you.

Go to your PuTTY configuration -> Terminal -> Keyboard

Look for Change Sequences Sent By -> The Backspace Key

From there, select Control-H. Save your session and try it.

This one worked for me, hope this works for you too.


Vista vs Mac vs Linux on Latest Trends

Author Rai    Category Linux     Tags , , , , ,

Enjoy this movie on yet again another Vista vs Mac vs Linux comparison. Enjoy ;)


If Computers Were Human…


Thanks to


More Unix Jokes

Author Rai    Category Jokes, Linux     Tags , , , ,

I never grow tired of Linux jokes, and neither should you :D So to give you another good day ahead, here is yet another Unix joke for you to laugh at.

What you are about to read are Unix commands and the corresponding error messages that each command generate, thrown in with a bit of sense of humor. The result? Funny geeky stuff.

Enjoy ;)

% rm meese-ethics
rm: meese-ethics nonexistent

% ar m God
ar: God does not exist

% “How would you rate Reagan’s incompetence?
Unmatched .”

% [Where is Jimmy Hoffa?
Missing ].

% ^How did the sex change^ operation go?
Modifier failed.

% If I had a ( for every $ Reagan spent, what would I have?
Too many (‘s.

% make love
Make: Don’t know how to make love. Stop.

read more