JavaScript

require('fs').readFileSync(0)의 의미.

aphyrince 2025. 5. 13. 16:52
반응형

require('fs').readFileSync(0)에서 0은 **파일 디스크립터(File Descriptor)**를 의미합니다.

📌 파일 디스크립터(File Descriptor)란?

  • 파일 디스크립터는 운영체제가 프로세스가 열고 있는 파일들을 추적하기 위해 사용하는 정수 값입니다.
  • 일반적으로 UNIX 계열 시스템에서 다음과 같은 파일 디스크립터가 예약되어 있습니다:
    • 0: 표준 입력 (stdin)
    • 1: 표준 출력 (stdout)
    • 2: 표준 에러 (stderr)

📌 readFileSync(0)의 의미

  • readFileSync(0)은 **표준 입력(stdin)**에서 데이터를 동기적으로 읽어들인다는 의미입니다.
  • 즉, 터미널에 사용자가 입력한 데이터를 읽거나, 파이프(|)를 통해 전달된 데이터를 읽습니다.

📌 예시

js
복사편집
// 터미널에서 실행 const fs = require('fs'); // 표준 입력에서 데이터를 읽어들임 (엔터로 종료) const input = fs.readFileSync(0, 'utf-8'); console.log('입력한 내용:', input);

실행:

bash
복사편집
$ node example.js Hello, World! # 터미널에 입력 [엔터] # 엔터를 누르면 입력 종료 입력한 내용: Hello, World!

파이프를 사용한 실행:

bash
복사편집
$ echo "Node.js is great!" | node example.js 입력한 내용: Node.js is great!

정리하자면, readFileSync(0)는 터미널의 표준 입력으로부터 데이터를 읽어들이는 방법입니다. 파이프를 활용해 다른 명령어의 출력도 읽어들일 수 있습니다.

반응형