(7) ★ IO Redirection 1>, 2>, >>

2019. 3. 26. 09:37 OS/Linux


IO Redirection

: output 될 결과물의 방향을 돌리는 것이라고 생각하자.

예 1)  ls -l > result.txt  

ls -l 을 입력하여 화면에 출력할 결과물을  result.txt 파일에 작성하게 해준다.

이 때 > Standard Output의 경우, 꺾쇠 앞에는 1이 생략되어있다.  

1> 디폴트 값이 1이다. 

2> 2가 되면 Standard Error 를 의미한다.

여기서 ls 가 Unix Process 이다.  이 프로그램에 -l 인자 ( Command-line Arguments )를 넘겨주는 것으로 보면된다.


rm result.txt  로 rm 명령어를 사용하여 result.txt를 삭제해주자.

이 상태에서 다시 rm result.txt를 입력하면 에러내용이 화면에 출력된다.

이렇게 화면에 출력된 에러를 redirection 시켜줄려고 하면 

rm result.txt > error.log 이렇게 하면 될까 ?

안된다.  왜냐하면 error 의 경우에는 standard output Data가 아니기때문이다. 이 때는 꺾쇠 앞에 2를 붙여야 한다.

꺾쇠 앞 2의경우 Standard errorredirection을 의미한다. 


예 2) rm reult.txt 2> error.log로 이 상황을 해결해야한다. 


>> 꺾쇠가 두개면?????

예 3)  ls -l >> result.txt 

ls -l 을 입력하여 수행된 결과를 result.txt 파일에 덮어쓰기 한 것이 아니라,  append 하는 것이다.

덧 붙인다. 기존의 내용을 그대로 두고 !!



출처: https://sourceflower.tistory.com/59?category=613435 [소스플로우]