앞서 살펴본 것처럼,
명령어의 실행 결과는 기본적으로 **표준 출력(stdout)**을 통해 터미널 화면으로 전달된다.
하지만 이 표준 출력의 목적지는 변경할 수 있다.
1. 터미널에 아무것도 출력되지 않는 이유
다음 명령어를 실행해 보자.
ls > list.txt
ls > directory.txt
이때 터미널 화면에는 아무것도 출력되지 않는다.
이유는 간단하다.
ls의 출력 결과가
터미널이 아니라 파일로 전달되었기 때문이다.
즉,
- 출력이 사라진 것이 아니라
- 출력 목적지가 바뀐 것
이다.
2. 파일에 결과가 저장되었는지 확인하기
출력이 제대로 저장되었는지는 다음 명령으로 확인할 수 있다.
cat list.txt
cat directory.txt
이제 터미널 화면에 결과가 출력된다.
이때의 흐름은 다음과 같다.
- ls → 결과를 파일에 저장
- cat → 파일 내용을 다시 **표준 출력(stdout)**으로 전달
- 터미널 → 그 stdout을 화면에 표시
3. 리다이렉션(Redirection)이란?
이처럼,
표준 출력(stdout)이 향하는 목적지를
터미널이 아닌 다른 곳으로 변경하는 것
을 리다이렉션(Redirection) 이라고 한다.
대표적인 예시는 다음과 같다.
- 터미널 → 파일
- 터미널 → 다른 명령어
- 터미널 → 네트워크 등
4. 정리하면
- ls는 항상 **표준 출력(stdout)**으로 결과를 보낸다
- 터미널은 기본 연결 대상일 뿐이다
- >를 사용하면 stdout의 목적지를 파일로 변경할 수 있다
- 출력이 안 보인다면, 사라진 게 아니라 이동한 것
리다이렉션은
명령어의 출력 내용을 어디로 보낼지 바꾸는 것이다!
'개발 환경 및 프로젝트 관리 > Linux 개념' 카테고리의 다른 글
| stdout과 stderr를 하나의 파일로 저장 (0) | 2026.01.07 |
|---|---|
| 표준 에러 출력(stderr)이란? (0) | 2026.01.07 |
| ls 명령어 내부와 표준 출력(stdout) 개념 (0) | 2026.01.07 |
| 텍스트가 많은 파일을 빠르게 읽는 방법 (vim) (0) | 2026.01.07 |
| 리눅스 사용자 홈 디렉터리와 ~ 기호 이해하기 (0) | 2026.01.07 |