Three types of I/O redirections in Linux
1. stdin <
2. stdout >
3. stderr 2>
1. # date > file1.txt
Redirects the output of date command to the file file1.txt .
2. #cal >> file1.txt
Redirects the output of cal command to file1.txt. Note that the out put of cal command will append to file file1.txt. > simply replaces the content where >> will append the content.
3. #tr [a-z] [A-Z] file1.txt < file1.txt
Translates the all lowercase letter to uppercase letter in file1.txt. Here we are giving the file1.txt as input to the command using < .
4. $find / -name linux 2> out_error.txt
Here a normal user is trying to find the file/folder with name "linux" under root file system ( / ).A normal user doesn't have permissions to every location under root file system ( / ). So the above command will give the output as well as some errors.
We can redirect the error messages to a file out_error.txt so that it can display only the found results.
We can use > out_results.txt to capture only the found resuts in out.txt file and leave the errors to display on stdout.
5. $find /-name linux > out_all.txt 2>&1
The constructor "2>1" will redirect the stderr messages as stdout (but not file). The constructor "2>&1" also do the same but & indicates the output will be stored in a file. So both found results and error messages will store in the file out_all.txt