명령 프롬프트에서 오류 메시지 리디렉션: STDERR/STDOUT
이 문서에서는 명령 프롬프트에서 오류 메시지를 리디렉션하는 것에 대해 설명합니다.
원래 제품 버전: Visual C++
원본 KB 번호: 110930
요약
기호를 사용하여 애플리케이션에서 출력을 리디렉션할 >
때 오류 메시지가 여전히 화면에 출력됩니다. 이는 오류 메시지가 표준 출력 스트림 대신 표준 오류 스트림으로 전송되는 경우가 많기 때문입니다.
콘솔(명령 프롬프트) 애플리케이션 또는 명령의 출력은 종종 두 개의 개별 스트림으로 전송됩니다. 일반 출력이 표준 출력(STDOUT)으로 전송되고 오류 메시지가 STDERR(표준 오류)로 전송됩니다. 기호를 사용하여 콘솔 출력을 >
리디렉션하는 경우 STDOUT만 리디렉션합니다. STDERR을 리디렉션하려면 리디렉션 기호를 지정 2>
해야 합니다. 그러면 STDERR인 두 번째 출력 스트림이 선택됩니다.
예제
명령 dir file.xxx
(file.xxx 존재하지 않는 경우)에는 다음 출력이 표시됩니다.
F 드라이브의 볼륨은 캔디 지팡이 볼륨 일련 번호는 34EC-0876입니다.
파일을 찾을 수 없음
를 사용하여 출력을 NUL 디바이스로 dir file.xxx > nul
리디렉션하는 경우에도 오류 메시지가 표시됩니다.
파일을 찾을 수 없음
오류 메시지를 NUL로 리디렉션하려면 다음 명령을 사용합니다.
dir file.xxx 2> nul
또는 출력을 한 위치로 리디렉션하고 오류를 다른 위치로 리디렉션할 수 있습니다.
dir file.xxx > output.msg 2> output.err
명령을 사용하여 &1
STDERR의 출력을 STDOUT으로 리디렉션한 다음 STDOUT에서 파일로 출력을 전송하여 오류 및 표준 출력을 단일 파일에 인쇄할 수 있습니다.
dir file.xxx 1> output.msg 2>&1
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기