사용하는 쉘이 ch,bash인 경우에는 gcc example.c 2>&1 | tee error.txt라고 쓴다.
또는 gcc example.c > error.txt 2> &1
처음 것은 화면에 에러메시지를 보여주면서 동시에 error.txt라는 파일로도 저장하고 두번째 것은 화면에는 보이지 않고 파일로만 저장한다.
사용하는 쉘이 csh,tcsh인 경우에는 gcc example.c | & tee error.txt라고 쓴다.
-----------------------------------------------------------------------------------
알고보니 적어도 bash인 경우 gcc example.c >& error.txt라고만 써도된다.
일반적으로, 명령 > 파일명 이라고 쓰면 명령에 의해 수행된 정상적인 결과를 파일로 출력하라는 뜻이고, 명령 >& 파일명이라고 쓰면 수행된 결과와 에러를 파일로 출력한다.
tee의 manual을 보면 tee - read from standard input and write to standard output and files라고 써 있는데 표준입력으로부터 읽어 들여 표준출력 및 파일에 써 넣는다는 뜻이다.
즉, 컴파일시 에러메시지는 콘솔창에도 보이고 동시에 지정한 파일로도 출력된다.
2>&1의 의미:표준 에러출력을 현재 사용하고 있는 표준출력으로 출력하게 함.
펌 : http://blog.naver.com/bushwhacker?Redirect=Log&logNo=10002607865
참조 : http://www.ibiblio.org/pub/historic-linux/ftp-archives/sunsite.unc.edu/Nov-06-1994/docs/HOWTO/Kernel-HOWTO

Comments List
좋은 정보 감사드려요.^^