The redirection operator command > file
will redirect the STDOUT of a command, or STDERR of a command if used like command 2> file
or both if used like &>
in bash or in any shell by portable command > file 2>&1
way. I am not aware of any direct method using redirection that can achieve what you need.
Although it is possible using the script
program. It will basically save everything printed on the terminal in that script
session.
From man script
:
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).
You can start a script
session by just typing script
in the terminal, all the subsequent commands and their outputs will all be saved in a file named typescript
in the current directory. You can save the result to a different file too by just starting script
like:
script output.txt
To logout of the screen
session (stop saving the contents), just type exit
.
Here is an example:
$ script output.txt
Script started, file is output.txt
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done, file is output.txt
Now if i read the file:
$ cat output.txt
Script started on Mon 20 Apr 2015 08:00:14 AM BDT
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done on Mon 20 Apr 2015 08:00:21 AM BDT
script
also has many options e.g. running quietly -q
(--quiet
) without showing/saving program messages, it can also run a specific command -c
(--command
) rather than a session, it also has many other options. Check man script
to get more idea.
Best Answer
Add this to your
~/.bashrc
:The colour code variables aren't necessary, but they simplify things. Change the
LIGHT_RED
to other colours to suit your need. Effect:You'll have to source the
.bashrc
for changes to take effect:The
LIGHT_RED
isn't really light red for me because of the colour profile I have set for the terminal.Sources: