user150674
user150674

Reputation: 97

How to log a output(regular or error) of a unix program into a file

How do I log the output(regular or error) of a Unix program into a file?

Upvotes: 1

Views: 5394

Answers (2)

Alan Horn
Alan Horn

Reputation: 80

Redirection like the above answer is very standard, but sometimes you really want to capture everything in a session. For that you can use the 'script' command.

$ script /path/to/output_file
[starts a subshell]
$ ./program
$ exit
$ cat /path/to/output_file

The advantage of script is you don't need to worry about shell semantics and knowing which shell you're running etc.. The disadvantage is that it really does capture everything that makes it to your terminal, including control codes, delete keys, etc...

Upvotes: 1

matei
matei

Reputation: 8685

start it with

./program > file.log 2>&1
this will redirect stdout and stderr to file.log

Upvotes: 8

Related Questions