표준입력・표준출력/오류출력

본 페이지에서는 표준 입출력과 에러 출력에 대해 써 갑니다.
리눅스에 관해서는, 개인적인 익숙함과 함께 Java에서의 설명도 섞여 있습니다.

컴퓨터도
뭔가 액션이 없으면 아무것도 시작되지 않는 것은 같은 것 같아…
할 일이 결정 되더라도 재료가 없으면 아무 것도 만들 수 없습니다
예:신장・체중으로부터 BMI를 산출→데이터가 없으면 계산할 수 없다 등

데이터 스트림 : 컴퓨터의 입력 → 처리 → 출력의 일련의 흐름

입력은 표준 입력 중 하나,
출력은 표준 출력과 표준 에러 출력의 2개

표준 입력 stdin



지정을 하지 않을 때는 키보드로부터의 입력.
파일을 지정할 수도 있습니다.

전술한 BMI 산출 예라면, 가능하면 대인원수의 데이터로부터 조사하고 싶네요.
→ 리디렉션 항목도 참조하십시오.

표준 출력 stdout



「출력한다」라고 하는 커멘드의 때나 커맨드 실행의 과정에서 통상 처리가 문제없는 경우에 단말에 출력.
지정하지 않으면 콘솔 화면

상기 표준 입력·출력은 정리해 표준 입출력(stdio)과도.

표준 에러 출력 stderr



커멘드 실행시에 통상 처리가 행해지지 않고, 에러가 되었을 경우의 출력에 사용됩니다.
단말 화면에서 표준 출력과 큰 차이가 없도록 출력됩니다.


해당 파일 디렉토리가 없으면,
이와 같은 "그러한 파일이나 디렉토리 없음"오류가 발생합니다.
그건 그렇고, 명령 : ---의 --- 숫자는 주소를 가리키고 오류가있는 것 같습니다.

소감



「표준」이라고 하는 것은 최저한, 비치의,와 같은 인상을 가졌습니다. standard in/out~

자바 프로그래밍 방식으로



프로그램 실행시에 지정하는 것이 아니고, 프로그램을 실행해 입력의 대기가 되었을 때의 분입니다.
Scanner 클래스, InputStream 클래스, 제일 친근할지도 모르는 System 클래스의 System.out, System.in가 표준 입력에 해당하는 것 같습니다.

실행하고 입력이 기다린 상태에서 데이터 세트를 한 번 입력하면 데이터 세트가 많을 경우에는 번거로움, 실수도 많아집니다.
파일에 데이터세트를 기술한 것을 입력원으로서 읽고 싶을 때 이 리디렉션을 사용합니다.

리디렉션



이하 리눅스에서의 리디렉션입니다.

표준 입력을 파일로 수행


コマンド < データファイル名

입력하고 싶은 데이터 파일을 사용하는 경우는 “<”를 사용합니다.

표준 출력을 파일로 수행


コマンド > 出力したいファイル名

실행 결과를 파일 형식으로 출력하고 싶은 경우에는 “>”를 사용합니다.

출력하고 싶은 파일명이 이미 존재하는 경우는, 덧쓰기되어 버리므로
">"대신 ">>"을 사용하면 추가됩니다.

쉘의 종류에 따라서는,>가 아닌 ">&", 할당 번호를 사용하는 것도 있습니다.

둘 다, 커맨드에 들어가는 · 나오는 이미지 그대로 알고 있으면 이용하기 쉽지요.

할당 번호



다음 번호로 OS가 입출력을 인식할 수 있습니다.
표준 입력 : 0
표준 출력 : 1
표준 오류 출력: 2

이를 통해 실행 결과와 오류 출력을 구분할 수 있습니다.
コマンド 1> 実行結果ファイル名 2>エラー用ファイル名

둘 다 사용하면 이러한 설명이되는 것 같습니다.

좋은 웹페이지 즐겨찾기