파이프, 리다이렉션

파이프

command 1 | command 2 로 사용, command1의 표준 출력을 command2의 표준 입력으로 전달

&를 붙이면 표준 에러도 함께 전달된다.

command1 | command2
command1 |& command2

# file.txt의 내용을 읽어서, grep의 입력으로 전달
cat file.txt | grep a

리다이렉션

command1 > filename 와 같은 형태로 사용

  • 파일을 읽어서 표준 입력을 전달

  • 표준 출력을 파일로 저장

파일 대신 명령의 결과를 입력, 출력할 수도 있다. &를 붙이면 표준 에러도 함께 전달한다.

리다이렉션
내용

<

파일 읽기

>

파일 쓰기 (overwrite)

>>

파일 쓰기 (insert)

# 파일 입력
command < infile
cat < file.txt

# 파일 출력
command > outfile # overwrite
command >> outfile # insert
command >& outfile # overwrite, 표준에러포함
command >>& outfile # insert, 표준에러포함

2>&1과 /dev/null

2>&1 이 명령은 표준에러(2)를 표준출력(1)로 리다이렉션하는 것이다.

구분
파일 디스크립터

표준 입력

0

표준 출력

1

표준 에러

2

/dev/null은 표준 출력을 버리기 위한 용도로 사용되는 디스크립터이다.

처리 결과로 출력되는 로그를 보지 않기 위해 사용하고, 2>&1과 함께 사용하여 표준 출력, 표준 에러를 화면에 표시하지 않는 용도로 사용한다.

Last updated