만자의 개발일지

[Linux] IO Redirection 본문

Linux

[Linux] IO Redirection

박만자 2021. 10. 29. 15:03

리다이렉션(Redirection)

리다이렉션은 표준 입력(Standard Input)이나 표준 출력(Standard Ouput) 또는 표준 에러(Standard Error)의 방향을 바꿔 파일로 입력/출력 을 할 수 있도록 해주는 것을 말합니다.

리다이렉션을 사용할 때에는 꺽쇠(<,>)를 사용합니다.

리다이렉션 기호 종류
> 표준 출력을 해당 파일로 덮어쓰기를 진행 함
2> 표준 에러를 해당 파일로 덮어쓰기를 진행 함
>> 표준 출력을 해당 파일 내용 맨뒤에 추가함(append)
2>> 표준 에러를 해당 파일 내용 맨뒤에 추가함(append)
< 파일로 부터 내용을 입력받아 화면에 출력함
<< 파일에 내용을 직접 입력함

간단한 예제를 통해 리다이렉션에 대해 간략히 알아보겠습니다.

 

표준 입력(Standard Input) 변경

hello.txt 파일은 hello 라는 내용을 담고 있습니다.

# cat < hello.txt
hello

< 를 이용하여 파일의 내용을 cat 이라는 명령어로 화면에 출력해주겠다는 뜻입니다.

 

표준 출력(Standard Output) 변경

# cat hello.txt > hello2.txt
# cat hello2.txt
hello
# cat hello.txt >> hello2.txt
# cat hello2.txt
hello
hello

> 를 사용하여 hello.txt의 내용을 화면에 출력하지 않고 리다이렉션하여 hello2.txt 파이레 덮어씌우고 출력을 하였을 때 hello.txt의 내용이 잘 출력되는 것을 보실 수 있습니다.

>> 를 사용하는 경우 해당 파일의 내용에 지정 파일의 내용의 맨뒤에 추가 할 수 있습니다.

 

표준 에러(Standard Error) 변경

# cat hello3.txt 2> error.log
# cat error.log
cat: hello3.txt: No such file or diretory

표준 에러를 리다이렉션 할 때에는 >,>> 앞에 2를 붙입니다.

다음과 같이 작성했을 경우 에러를 화면에 출력하지 않고 파일에 저장할 수 있습니다.

# cat hello3.txt 2>&1
cat: hello3.txt: No such file or diretory

추가로 위와 같이 입력하면 표준에러를 바로 표준출력할 수 있습니다.

참고

 

Comments