Search
 
SCRIPT & CODE EXAMPLE
 

SHELL

save terminal output to file with script

# You can use the script function to record all terminal output to a file
script file_there_you_want_to_save_the_scripts.txt
# Every command run and relative outputs are then stored in such file
command1 
> some STDOUT lines
command2
> some STDOUT lines
# Once it's done simply type exit
exit
> Script done, file is file_there_you_want_to_save_the_scripts.txt
Comment

How do I save terminal output to a file?

==> Please note that the n.e. in the syntax column means "not existing".
    There is a way, but it's too complicated to fit into the column. You can find a helpful link in the List section about it.



          || visible in terminal ||   visible in file   || existing
  Syntax  ||  StdOut  |  StdErr  ||  StdOut  |  StdErr  ||   file   
==========++==========+==========++==========+==========++===========
    >     ||    no    |   yes    ||   yes    |    no    || overwrite
    >>    ||    no    |   yes    ||   yes    |    no    ||  append
          ||          |          ||          |          ||
   2>     ||   yes    |    no    ||    no    |   yes    || overwrite
   2>>    ||   yes    |    no    ||    no    |   yes    ||  append
          ||          |          ||          |          ||
   &>     ||    no    |    no    ||   yes    |   yes    || overwrite
   &>>    ||    no    |    no    ||   yes    |   yes    ||  append
          ||          |          ||          |          ||
 | tee    ||   yes    |   yes    ||   yes    |    no    || overwrite
 | tee -a ||   yes    |   yes    ||   yes    |    no    ||  append
          ||          |          ||          |          ||
 n.e. (*) ||   yes    |   yes    ||    no    |   yes    || overwrite
 n.e. (*) ||   yes    |   yes    ||    no    |   yes    ||  append
          ||          |          ||          |          ||
|& tee    ||   yes    |   yes    ||   yes    |   yes    || overwrite
|& tee -a ||   yes    |   yes    ||   yes    |   yes    ||  append

====================================>List:<===================================

==> command > output.txt

    The standard output stream will be redirected to the file only, it will not be visible in the terminal. If the file already exists, it gets overwritten.

==> command >> output.txt

    The standard output stream will be redirected to the file only, it will not be visible in the terminal. If the file already exists, the new data will get appended to the end of the file.

==> command 2> output.txt

    The standard error stream will be redirected to the file only, it will not be visible in the terminal. If the file already exists, it gets overwritten.

==> command 2>> output.txt

    The standard error stream will be redirected to the file only, it will not be visible in the terminal. If the file already exists, the new data will get appended to the end of the file.

==> command &> output.txt

    Both the standard output and standard error stream will be redirected to the file only, nothing will be visible in the terminal. If the file already exists, it gets overwritten.

==> command &>> output.txt

    Both the standard output and standard error stream will be redirected to the file only, nothing will be visible in the terminal. If the file already exists, the new data will get appended to the end of the file..

==> command | tee output.txt

    The standard output stream will be copied to the file, it will still be visible in the terminal. If the file already exists, it gets overwritten.

==> command | tee -a output.txt

    The standard output stream will be copied to the file, it will still be visible in the terminal. If the file already exists, the new data will get appended to the end of the file.

==> (*)

    Bash has no shorthand syntax that allows piping only StdErr to a sec==> command, which would be needed here in combination with tee again to complete the table. If you really need something like that, please look at "How to pipe stderr, and not stdout?" on Stack Overflow for some ways how this can be done e.g. by swapping streams or using process substitution.

==> command |& tee output.txt

    Both the standard output and standard error streams will be copied to the file while still being visible in the terminal. If the file already exists, it gets overwritten.

==> command |& tee -a output.txt

    Both the standard output and standard error streams will be copied to the file while still being visible in the terminal. If the file already exists, the new data will get appended to the end of the file.
Comment

PREVIOUS NEXT
Code Example
Shell :: install chocolately path 
Shell :: sed insert multiple lines after match 
Shell :: selinux 
Shell :: openldap install centos 8 
Shell :: mvn clean install does not running test 
Shell :: rename a local and remote git branch 
Shell :: how to revert commit in git 
Shell :: git clone https://github.com/git/git 
Shell :: letsencrypt domain fetch /.well-known error 
Shell :: ubuntu enable network manager 
Shell :: pull all branches from remote git 
Shell :: how to exit git in terminal 
Shell :: how to use scp 
Shell :: github new repo 
Shell :: git the history 
Shell :: kali linux command download 
Shell :: how to connect raspberry pi to laptop using hdmi 
Shell :: how to move a file in bash 
Shell :: copy branch to master 
Shell :: reset git from last commit 
Shell :: download file github 
Shell :: sync just one file between branches 
Shell :: go test color output 
Shell :: strg s crashed vim 
Shell :: ve-restore-user database only 
Shell :: create aws ec2 launch template 
Shell :: powershell rename wildcard 
Shell :: fast rename fasta header 
Shell :: how to install mx package manager 
Shell :: vim : undo stops working 
ADD CONTENT
Topic
Content
Source link
Name
9+9 =