Linux의 모든 프로세스는 stdin, stdout 및 stderr의 세 가지 데이터 스트림을 생성합니다.
- 표준 입력 : 키보드를 통해 사용자로부터 입력을 받습니다.
- 표준 출력 : 화면에 출력을 표시합니다.
- 표준 오류 : 화면에 오류 정보를 표시합니다.
모든 데이터 스트림에는 숫자 ID가 있습니다.
숫자 ID | 이름 |
0 | 표준 입력 |
1 | 표준 출력 |
2 | 표준 오류 |
리디렉션에 대해 좀 더 자세히 설명하겠습니다.
Bash에서 표준 출력 및 표준 오류를 리디렉션하는 방법:
명령의 표준 출력을 리디렉션하려면 > 기호보다 큰 리디렉션 연산자와 함께 1을 사용합니다.
$엘 1>stdout.txt위의 명령은 파일을 만들고 ls 명령의 표준 출력을 stdout.txt 파일에 넣습니다.
stdout.txt 파일을 읽으려면 다음을 사용하십시오.
$고양이stdout.txt
다음 명령을 사용하여 표준 오류를 파일로 리디렉션할 수도 있습니다.
$고양이myfile.txt2>stderr.txt
stderr.txt 파일을 보려면 다음을 사용하십시오.
$고양이stderr.txt
사용 2가 > 기호보다 큰지 확인하십시오. 디렉토리에 myfile.txt 파일이 없기 때문에 cat 명령은 stderr.txt 파일에 추가될 오류를 제공합니다.
이러한 표준 출력은 단일 명령으로도 리디렉션할 수 있습니다.
$엘 1>stdout.txt2>stderr.txt
ls 명령의 출력은 stdout.txt 파일이지만 stderr.txt 오류가 없기 때문에 비어 있습니다.
이제 stderr.txt에 대해 수행해 보겠습니다.
$고양이myfile.txt1>stdout.txt2>stderr.txt
아래에 언급된 명령을 사용하여 stderr.txt를 읽으십시오.
$고양이stderr.txt
물론 stdout.txt는 비어 있습니다.
결론 :
실행 시 Linux 명령은 성공 출력 또는 오류 출력이 될 수 있는 표준 출력을 제공합니다. 일반적으로 이러한 출력은 리디렉션 연산자를 사용하여 리디렉션할 수 없습니다. > 기호와 함께 특정 숫자 ID를 사용해야 합니다. 이 가이드에서는 이러한 숫자 키를 사용하여 표준 출력을 예제가 있는 파일로 리디렉션하는 방법을 배웠습니다.