Linux Save the output of a command in a logfile

Posted on in Categories CentOS, Gentoo Linux, Howto, Linux, RedHat/Fedora Linux, Shell scripting, Suse Linux, Sys admin, Tips, Ubuntu Linux, UNIX last updated November 11, 2007

You can use logsave command to save the output of a command in a logfile. General syntax is as follows:
logsave /path/to/logfile command-name argument(s)

The logsave program will execute command-name with the specified argument(s), and save a copy of its output to logfile. If the containing directory for logfile does not exist, logsave will accumulate the output in memory until it can be written out. A copy of the output will also be written to standard output. If command-name is a single hyphen (-), then instead of executing a program, logsave will take its input from standard input and save it in logfile

logsave is useful for saving the output of initial boot scripts until the /var partition is mounted, so the output can be written to /var/log. For example, save output of ls command to output.log file:
logsave /tmp/output.txt ls
For example run lftp and save remote server file list to /tmp/filelist.txt for other scripts:
logsave /tmp/filelist.txt 'lftp -u -e "cd pub;ls;quit;" admin,mypassword '

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

3 comment

  1. But is it possible to execute the same thing using c code, but by calling functions? I need to know how to do the following in c code:

    command > textfile

    how to execute the “>” in c code? In other words how to I pipe the output in the terminal to a text file in c code? Are there any functions available?

    The temporary solution I have is to make a system call to execute the above command within my c code.

    Is there any other way?

  2. Hi,
    I want to copy output of linux command.

    For eg.
    In above eg. pwd shows the current work directory. When I paste, the output should be “/user/Work/Personal”

    Can u pls help.

Leave a Comment