2011년6월27일_리다이렉션(Redirection)

 

● 임베디드C 책 page.357참조

image 

# ls –al > a.txt
a.txt라는 파일을 생성하여 현재 디렉토리의 리스트를 기록하거나 a.txt가 있었을 경우 덮어쓴다.

# ls –al >> a.txt
a.txt파일이 없을 경우 새로 생성하여 현재 디렉토리의 리스트를 기록하고 a.txt파일이 있으면 파일의 끝부분에 내용을 추가한다.

image

# gcc > a.txt
gcc컴파일러의 옵션이나 파일등의 파라메타가 없으니 입력파일이 없다는 에러메세지를 화면에 출력한다.
리다이렉션하여 a.txt에 기록하게 하여도 a.txt에는 아무 내용도 들어가지 않는다.

# gcc 2> a.txt
2번 stderr(표준에러)로 출력을 바꾸어 리다이렉션하면 a.txt에는 에러메세지가 기록된다.

★ stdout(1번)과 stderr(2번) 둘 다 화면에 표시되니 우리가 보기엔 똑 같으나 에러메세지는 표준에러(stderr)로 출력하자.

장치 파일 핸들
stdin 0
stdout 1
stderr 2

 

 

 
image

# tree > a.txt

tree명령으로 현재 디렉토리부터 하위디렉토리들의 디렉토리구조를 알 수 있고,
이 명령의 출력도 gcc명령과 같이 리다이렉션 삿갓기호를 사용해 파일에 기록할 수 있다.