운영체제에서의 리다이렉션은 무엇인가요?
운영체제에서의 리다이렉션에 대해 들어보신 적이 있나요? 듣지 못했다면 이 글이 도움이 될 것 입니다. 이 글에서는 운영체제에서의 리다이렉션에 대해 배워보겠습니다.
표준 입력, 출력 및 오류 소개
처음에는 I/O가 물리적으로 연결된 시스템 콘솔을 통해서만 발생했습니다(키보드를 통한 입력, 모니터를 통한 출력). 시간이 흘러감에 따라 I/O 장치(마우스를 통한 입력 또는 터치 패드 등)가 시스템에 추가되었습니다. 그래서 표준 입력, 출력 및 오류가 도입되었습니다.
표준 스트림은 프로그램의 입력과 출력을 사용자 정의하기 위한 측면을 추상화하여 이를 만족시키며, 프로그램이 실행을 시작할 때 컴퓨터 프로그램과 그 환경 간의 미리 연결된 입력 및 출력 통신 채널입니다. 이 세 가지 입력/출력(I/O) 연결은 표준 입력(stdin), 표준 출력(stdout) 및 표준 오류(stderr)라고 합니다.
이제 운영체제에서의 리다이렉션에 대해 본격적으로 배워봅시다.
리다이렉션이란 무엇인가요?
리다이렉션은 리눅스에서 실행하는 명령어의 표준 입력/출력 장치를 변경할 수 있는 기능입니다. 이해하지 못하셨다면 걱정하지 마세요. 몇 가지 예시를 보여드리겠습니다.
ls -a
명령의 콘솔의 표준 출력이 무엇인가요? 아마도 콘솔일 것입니다.
보시다시피, ls -a
명령의 표준 출력은 콘솔입니다. 그러나 만약 ls -a
명령의 표준 출력을 파일에 저장하려면 어떻게 해야 할까요? 그럴 때 리다이렉션을 사용할 수 있습니다.
ls -a > output.txt
보시다시피, ls -a
명령의 표준 출력이 output.txt
파일에 저장되었습니다. 이것이 리다이렉션의 개념입니다.
표준 입력 리다이렉션
표준 입력은 프로그램이나 프로세스의 데이터 소스의 기본값입니다. 표준 입력은 일반적으로 키보드이지만 시스템에 따라 다를 수 있습니다. 표준 입력은 프로그램 내에서 일반적으로 파일 핸들 stdin
으로 표시됩니다.
표준 입력 리다이렉션을 어떻게 하는지 보여드리겠습니다. 다음과 같은 텍스트를 포함하는 input.txt
파일이 있다고 가정해 봅시다.
Hello, World!
그리고 이 input.txt
파일의 텍스트를 콘솔에 출력하고 싶다면 리다이렉션을 사용할 수 있습니다.
cat < input.txt
이제 리다이렉션이 무엇인지 이해하셨을 것입니다. 다음 섹션으로 넘어가서 어떻게 작동하는지 자세히 알고 싶을 것으로 예상됩니다. 다음 포스트에서는 파일 디스크립터에 대해 알려드릴 예정입니다.
본문
제가 작성한 원글은 영어 글입니다. (한국어로 번역하다보니 매끄럽지 않은 부분들이 있네요. 다듬어서 다시 올리도록 하겠습니다.)