How can I capture text from my terminal without redirecting it to a text file?

Basically, what I would like to do is, instead of just redirecting the out from my terminal command to a file, I would like to have the information also show in the terminal session.

If I use ~$ command > output.log I am no longer able to see the command process in the terminal window and therefore I do not know when the command has finished processing without looking at the output.log file. The commands I run take a few minutes to process and produce quite a bit of output. (hence me wanting to capture that output) Any suggestions?


Solution 1:

The answer to your question is tee. Just use | tee [output file] instead of > [output file]

Thus, sudo apt-get update > out.log becomes sudo apt-get update | tee out.log.

For more information: LinuxQuestion.org: BASH: How to Redirect Output to File, AND Still Have it on Screen, Linux by Examples: How to redirect output to a file as well as display it out.

Solution 2:

You can use tee.

Example: $ls 2>&1 | tee text.txt

This will print the output of the command into the log file as well in the Terminal.

Solution 3:

command |tee output.log both prints, and captures.