728x90

출처 : 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>&-, >&-

표준출력을 닫아 줍니다.

자식 프로세스는 열려 있는 파일 디스크립터를 상속 받는데 이것 때문에 파이프가 동작합니다. 파일 디스크립터가 상속되길 바라지 않는다면 그 파일 디스크립터를 닫으면 됩니다.

728x90

+ Recent posts