computer_science:linux:terminal:bash_line_pipes_and_redirection

This is an old revision of the document!


Bash / Command Line Pipes and Redirection

Part of Linux

# default fds
0 stdin
1 stdout
2 stderr

# run program1, stdout/stderr to terminal (default)
program1

# send stdout from program1 to stdin of program2 with anonymous pipe
program1 | program2

# run program1, stdout to out.log, stderr to terminal
program1 1> out.log
program1 > out.log

# run program1, stdout/stderr to out.log, nothing to terminal
program1 1> out.log 2> out.log
program1 > out.log 2> out.log
program1 > out.log 2>&1

# run program1 with input.txt as input,
# stdout/stderr to terminal
program1 < input.txt
cat input.txt | program1

# run program1 with input.txt to stdin,
# stdout to output.txt, stderr to terminal
program1 < input.txt > output.txt
cat input.txt | program1 > output.txt

# send stdout from program1 to stdin of program2 with named pipe
mkfifo mypipe
program1 > mypipe
program2 < mypipe

# run program1, discard all output
program1 > /dev/null 2>&1

# run ./write, send fd4 to out.log (see write.c)
./write 4> out.log

  • computer_science/linux/terminal/bash_line_pipes_and_redirection.1640261396.txt.gz
  • Last modified: 2023/12/01 12:07
  • (external edit)