오늘 방문 /누적 방문 /완성한 레슨 소개 ↗
SECONDTEAM
터미널
⌨️ 레슨

파이프 — 명령을 이어붙이기

명령 출력을 다음 명령에 흘려보내는 | 기호. 레고처럼 조립하면 한 줄로 놀라운 걸 해요.

① 오늘의 미션
장부에서 답을 뽑아내기
지난 레슨에서 grep으로 주문 장부에서 한 줄을 찾는 법을 배웠어요. 오늘은 한 걸음 더 나아갑니다 — "오늘 김치전 주문이 몇 건이지?" 같은 질문에 명령 하나로 답하는 법이에요.

비밀은 | 기호(파이프) 하나. 작은 명령들을 호스처럼 이어붙여, 한쪽 끝에 장부를 넣으면 반대쪽 끝에서 숫자 하나가 똑 떨어지게 만들 거예요.

설명을 따라 진행하면, 여기서 직접 쳐보게 돼요 👇
~/my-shop
$ _
📚 「파이프 — 명령을 이어붙이기」 레슨 내용 전체 텍스트로 훑어보기
장부에서 답을 뽑아내기
지난 레슨에서 grep으로 주문 장부에서 한 줄을 찾는 법을 배웠어요. 오늘은 한 걸음 더 나아갑니다 — "오늘 김치전 주문이 몇 건이지?" 같은 질문에 명령 하나로 답하는 법이에요.

비밀은 | 기호(파이프) 하나. 작은 명령들을 호스처럼 이어붙여, 한쪽 끝에 장부를 넣으면 반대쪽 끝에서 숫자 하나가 똑 떨어지게 만들 거예요.

파이프(|)는 두 명령 사이에서 무슨 일을 할까요?
맞아요. |호스(파이프)예요 — 앞 명령이 뱉어낸 출력을, 뒤 명령의 입력으로 그대로 흘려보냅니다. 공장 컨베이어 벨트처럼, 각 명령이 한 가지 일만 하고 결과를 다음 명령에 넘겨요.

먼저 파이프 없이, 주문 장부를 그냥 펼쳐봐요. cat은 파일 내용을 통째로 화면에 뿌리는 명령이에요. (장부엔 주문이 한 줄에 하나씩 적혀 있다고 해요.)

cat 주문.txt — 주문 장부를 펼쳐요
장부 전체가 주르륵 나왔어요. 그런데 주문이 수백 건이면? 눈으로 세긴 무리예요. 여기서 다음 명령에게 넘기는 아이디어가 필요해집니다.

줄 수를 세주는 명령은 wc예요(word count). 그냥 wc는 줄·단어·글자를 다 세지만, 줄 수만 보려면 옵션을 붙여요. 빈칸을 채워보세요.

정답! -l(line)이에요. wc -l줄 수만 딱 세줍니다. 주문 장부는 한 줄이 주문 하나니까, 줄 수 = 주문 건수가 되는 거예요.

이제 둘을 이어봐요. cat 주문.txt가 뱉은 장부를, 파이프로 wc -l에 흘려보내면 전체 주문 건수가 나와요.

cat 주문.txt | wc -l — 장부를 펼쳐서 → 줄 수를 센다
5 — 전체 주문이 5건이라는 뜻이에요. cat의 출력이 화면 대신 wc -l로 흘러간 거예요. 이게 파이프의 첫 맛이에요.

이번엔 가운데에 grep을 하나 더 끼워볼게요. cat 주문.txt | grep 김치전 | wc -l 를 치면 뭐가 나올까요? (위 장부에서 '김치전'은 3줄이었어요.)

맞아요, 3이에요. 장부가 grep 김치전을 거치며 김치전 줄만 남고, 그게 다시 wc -l로 흘러가 줄 수만 세진 거예요. 호스를 세 개 이은 셈이죠. 직접 확인해볼까요? 👇

오늘의 목표 명령이에요. 펼치고(cat) → 김치전만 거르고(grep) → 세기(wc -l). 파이프 두 개로 셋을 잇습니다.

cat 주문.txt | grep 김치전 | wc -l — 김치전 주문이 몇 건인지 한 줄로
3! "오늘 김치전 주문 몇 건?"이라는 질문에 명령 한 줄로 답했어요. 명령 셋을 새로 외운 게 아니라, 이미 아는 작은 명령들을 이어붙였을 뿐이라는 점이 핵심이에요.
같은 일을 두 방식으로. 파이프가 왜 편한지 느껴보세요.
파이프 없이 (손으로): cat 주문.txt 로 장부를 펼친 다음,
화면을 눈으로 훑으며
김치전 줄을 하나하나 세야 해요.
주문이 많아지면 사실상 불가능.
파이프로 (한 줄): cat 주문.txt | grep 김치전 | wc -l

장부가 100건이든 1000건이든
똑같이 한 줄. 숫자만 똑 떨어져요.

김치전 건수를 세는 파이프에서, 데이터가 흐르는 순서를 맞춰보세요. (↑↓로 정렬)

완벽해요! 왼쪽에서 오른쪽으로, 펼치고 → 거르고 → 세고 → 결과. 각 칸은 앞 칸의 출력을 받아 자기 일만 하고 넘깁니다. 이게 파이프라인이에요.
오늘 우리는 cat·grep·wc 라는 작은 명령 셋을 이어 큰 일을 했어요. 이런 사고방식을 뭐라 부를까요?
맞아요 — "작은 도구 하나는 한 가지만 잘하고, 파이프로 이어 큰 일을 한다". 이게 터미널을 만든 유닉스 철학이에요. cat은 펼치기만, grep은 거르기만, wc는 세기만 — 각자 단순하니까 어떤 조합으로도 끼워 쓸 수 있어요.
한 줄로
| 하나로 명령들이 호스처럼 이어졌어요. cat 주문.txt | grep 김치전 | wc -l — 펼치고, 거르고, 세고. 작은 도구를 조립해 큰 일을 하는 게 터미널의 진짜 힘이에요. 새 명령을 외우기보다, 아는 명령을 잇는 법을 익히는 게 더 멀리 갑니다.
다음 레슨에서
지금까지 우리가 친 건 전부 터미널 명령이었어요. 그런데 같은 창에서 Claude에게 말도 걸 수 있죠. 다음 레슨 "지금 터미널이야 Claude야? — 상태 A vs B"에서, 지금 내가 누구에게 말하고 있는지 구분하는 법을 배워요. 🔀