발표

5일차 발표

김영재0412 2022. 4. 21. 17:30
  • [C214] 표준스트림과 stdin, stdout, stderr이 무엇인가요?
  • Stdin  (표준 입력)

표준 입력은 프로그램으로 들어가는 입력값의 데이터(보통은 문자열) 스트림이며, Standard Input을 stdin으로 줄여 표현합니다. 리눅스 쉘에서는 표준 설정이 키보드로 되어 있습니다. 그러나 모든 프로그램이 입력을 요구하지 않으며, 대표적인 예로는 비밀번호를 입력할 때 이러한 표준 입력 스트림을 사용합니다.

 

  • Stdout (표준 출력)

표준 출력은 프로그램이 출력 데이터를 기록하는 스트림으로, Standard Output을 stdout으로 줄여 표현합니다. 표준 출력은 텍스트 터미널에서 이루어집니다. 표준 입력과 마찬가지로 모든 프로그램이 출력을 요구하는 것은 아닙니다

 

  • Stderr (표준 오류)

표준 오류는 프로그램이 오류 메세지나 진단을 출력하기 위해 일반적으로 쓰이는 또다른 출력 스트림이며, Standard Error를 stderr로 줄여 표현합니다.

 

 

  • [C215] 파이프라인과 리다이렉션이 무엇인지 예시를 들어 설명하세요. 

리다이렉션은 표준 스트림의 흐름을 바꿔(우회하여) 파일로 표준 입/출력을 할 수 있도록 하고 출력 리다이렉션에는 > 혹은 >> 를 사용하며 입력 리다이렉션에는 < 를 사용합니다. access.log 파일에 마지막 10줄만 숫자순으로 저장하고 싶을 때 먼저 tail < access.log 를 사용해 마지막 10줄만 출력하고 sort -n으로 숫자순으로 나열하였고 > halo.txt를 사용해 터미널에 출력하지않고 halo.txt 파일에 저장했습니다. 

tail < access.log | sort -n > halo.txt

 

파이프라인은 하나의 프로세스의 결과를 다른 프로세스의 입력으로 주는 것을 말하며,  기호 | 를 사용합니다. access.log의 첫 10줄의 바이트, 단어, 줄을 확인하기위에 head access.log 로 출력하였고 그 결과를 | 로 연결해 wc 라는 명령어를 이용해 10줄 240단어 3260바이트로 이루어져있는걸 확인했습니다. wc의 출력을 halo2.txt에 저장하기 위해 > halo2.txt를 사용했습니다.

head access.log | wc > halo2.txt

'발표' 카테고리의 다른 글

8일차 발표  (0) 2022.04.26
7일차 발표  (0) 2022.04.25
3일차 발표  (0) 2022.04.19
2일차 발표  (0) 2022.04.18
1일차 발표  (0) 2022.04.15