본문으로 건너뛰기
Linux · CLI 기초집LESSON 08

표준 입출력, 파이프(|), 리다이렉션(>, >>)

난이도입문 → 초급
예상 시간30분
선수지식이전 강의

8강. 표준 입출력, 파이프(|), 리다이렉션(>, >>)

1. 이번 강의에서 해결할 문제

파이프와 리다이렉션은 강력하지만 >는 기존 파일을 즉시 덮어씁니다. 출력 흐름을 먼저 터미널에서 확인하고 새 결과 파일로 보냅니다.

2. 학습 목표

3. 핵심 개념

프로세스는 표준 입력(0), 표준 출력(1), 표준 오류(2)를 기본 채널로 사용합니다. |는 앞 명령의 stdout을 다음 명령의 stdin으로 연결합니다. >는 대상 파일을 새로 쓰고 >>는 뒤에 추가합니다. 기존 결과를 보호하려면 새 파일 이름을 사용하고 test -e로 존재 여부를 확인합니다.

GNU Bash 리다이렉션 문서의 덮어쓰기 규칙을 기준으로 설명합니다.

4. 단계별 명령어와 예시

1. Ubuntu Bash(WSL)

실행 위치: 프로젝트 루트

대상: 승리 기록 요약과 별도 오류 로그

Ubuntu Bash(WSL)
cd "$HOME/projects/game-log-analyzer"
grep "win" data/battles.csv | sort | tee reports/wins.preview.txt
wc -l < reports/wins.preview.txt
if test -e reports/run.log; then echo "reports/run.log가 이미 있어 덮어쓰지 않습니다."; else printf "analysis started\n" > reports/run.log; fi
printf "analysis finished\n" >> reports/run.log
cat reports/run.log

예상 결과: 승리 줄이 화면과 새 파일에 기록되고 로그 두 줄이 표시됩니다.

5. 명령어가 동작하는 이유

tee는 파이프 데이터를 화면과 파일로 동시에 보냅니다. 입력 리다이렉션 <은 파일 내용을 wc의 stdin으로 전달하고, 존재 검사 뒤 >를 사용해 기존 로그를 보호합니다.

6. 자주 하는 실수와 안전한 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

표준 입출력, 파이프(|), 리다이렉션(>, >>) 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“표준 입출력, 파이프(|), 리다이렉션(>, >>)”의 코드·명령이 의도대로 동작하는지 판단할 기준은 무엇인가요?
  2. 문제 2“표준 입출력, 파이프(|), 리다이렉션(>, >>)”의 작업 기준으로 ‘중요 파일에 바로 > 사용’을 진단하거나 바로잡은 선택은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

8강. 표준 입출력, 파이프(|), 리다이렉션(>, >>) 미완료 상태