Q. I’ve written a small program that does something useful for me. I always get output on screen. Sometime I need to send output to a file. How do I print output of my program to a file w/o making any changes to code?
A. Bash shell (and many other modern UNIX shell) supports the concept of I/O redirection It allows you to redirect standard output (screen), standard error and standard input (keyboard) using the following syntax.
command > output.file
command < input.file
command >& error-n-output.file
So to redirect output of your own C program just enter:
$ ./myprogr > output.txt
$ cat output.txt
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- My 10 UNIX Command Line Mistakes
- Linux: 20 Iptables Examples For New SysAdmins

- 25 PHP Security Best Practices For Sys Admins
- The Novice Guide To Buying A Linux Laptop
- 10 Greatest Open Source Software Of 2009
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
Facebook it - Tweet it - Print it -


{ 5 comments… read them below or add one }
for redirecting stderr to a file
command 2> error.file
offcourse this is very helpful document
in addition by using
command >> file
you can reuse the same file without deleting the previous data.
>> adds text to the end of the file :)
Thanks a lot for that,
But is there a way i can write the output of a c program into a file from WITHIN THE PROGRAM. For example, i know this doesnt work, but what can i do to repliacte this
system(“ls”) > t1.txt
Thanks a lot dear ,