0 1 2 (표준입력, 표준출력, 표준 에러)
출처 : https://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/io-redirection.html#IOREDIRREF
I/O 재지향
쉘은 항상 기본적으로 표준입력(stdin, 키보드), 표준출력(stdout, 스크린), 표준에러(stderr, 스크린에 뿌려질 에러 메세지) "파일들"을 열어 놓습니다. 이 파일들을 포함해서 열려 있는 어떤 파일이라
wiki.kldp.org
0 표준입력(stdin, 키보드), 1 표준출력(stdout, 스크린), 2 표준에러(stderr, 스크린에 뿌려질 에러 메세지)
>
# 표준 출력을 파일로 재지향.
# 파일이 없으면 새로 만들고, 있다면 덮어 씁니다.
: > filename
# >는 "filename"의 길이가 0이 되도록 잘라줍니다.
# :는 아무 출력도 안 하는 더미 플레이스홀더(plcaeholder)로 동작합니다.
>>
# 표준 출력을 파일로 재지향.
# 파일이 없으면 새로 만들고, 잇으면 파일 끝에 덧붙입니다.
2>&1
# 표준 에러를 표준 출력으로 재지향
# 에러 메시지는 표준 출력의 자격으로 스크린에 보내집니다.
i>&j
# i번 파일 디스크립터를 j번 파일 디스크립터로 재지향.
# i가 가르키는 파일의 모든 출력은 j가 가르키는 파일로 보내집니다.
>&j
# 기본적으로 1번 파일 디스크립터(표준출력)을 j번 파일 디스크립터로 재지향.
# 모든 표준출력은 j가 가르키는 파일로 보내집니다.
0<
#파일에서 입력을 받도록 해줍니다.
# ">" 와 짝을 이루는 명령어로, 종종 같이 쓰입니다.
#
# grep search-word < filename
|
# 프로세스와 명령어를 엮어주는 일반적인 목적의 툴
# 모든 *.txt 파일의 출력을 정렬한 다음, 중복되는 줄을 제거하고
# 마지막으로 그 결과를 "result-file"에 저장
파일 디스크립터 닫기
n<&-n번 입력 파일 디스크립터를 닫아 줍니다.
0<&-, <&-표준입력을 닫아 줍니다.
n>&-n번 출력 파일 디스크립터를 닫아 줍니다.
1>&-, >&-표준출력을 닫아 줍니다.
자식 프로세스는 열려 있는 파일 디스크립터를 상속 받는데 이것 때문에 파이프가 동작합니다. 파일 디스크립터가 상속되길 바라지 않는다면 그 파일 디스크립터를 닫으면 됩니다.