리눅스/유닉스 환경에서 명령어를 실행하면 결과는 기본적으로 터미널 화면(stdout) 에 출력됩니다.
하지만 서버 운영이나 로그 관리 상황에서는 출력 결과를 파일로 저장해야 하는 경우가 많습니다.
이때 사용하는 것이 리다이렉션(redirection) 입니다.
1. 표준 출력(stdout) 리다이렉션
1️⃣ 기존 파일에 덮어쓰기 (>)
$ pwd > result.txt
- pwd의 출력 결과를 result.txt에 저장
- 기존 파일 내용은 모두 삭제되고 새로 저장됨
확인:
$ cat result.txt
2️⃣ 기존 파일에 이어서 쓰기 (>>)
$ pwd >> result.txt
- 기존 파일 내용은 유지
- 파일 끝에 출력 결과를 추가
로그를 누적해서 남길 때 반드시 사용하는 방식입니다.
2. 표준 에러(stderr) 리다이렉션
에러 출력은 기본 출력(stdout)과 다른 스트림을 사용합니다.
1️⃣ 에러 출력 덮어쓰기 (2>)
$ ls abc 2> error.txt
- 존재하지 않는 파일/디렉토리 에러를 error.txt에 저장
- 실행할 때마다 기존 파일을 덮어씀
2️⃣ 에러 출력 이어서 쓰기 (2>>)
$ ls abc 2>> error.txt
$ ls xxxx 2>> error.txt
- 에러 로그를 누적 기록
- 서버 에러 로그 관리 시 가장 많이 사용
확인:
$ cat error.txt
3. 언제 > 대신 >>를 써야 할까?
서버 운영이나 로그 관리에서는
기존 로그가 사라지면 안 되는 경우가 대부분입니다.
따라서,
- 일회성 결과 저장 → >
- 로그·에러 누적 관리 → >>, 2>>
를 사용하는 것이 안전합니다.
4. 정리하면
- > : 파일 덮어쓰기
- >> : 파일 이어쓰기
- 2> : 표준 에러(stderr) 덮어쓰기
- 2>> : 표준 에러(stderr) 이어쓰기
기존 로그가 중요하다면 반드시 >>를 사용하자
'개발 환경 및 프로젝트 관리 > Linux 개념' 카테고리의 다른 글
| Bash $() 문법 이해: 명령어 실행 결과를 변수처럼 사용하는 방법 (0) | 2026.02.16 |
|---|---|
| stdout과 stderr를 하나의 파일로 저장 (0) | 2026.01.07 |
| 표준 에러 출력(stderr)이란? (0) | 2026.01.07 |
| 표준 출력 리다이렉션(Redirection) (0) | 2026.01.07 |
| ls 명령어 내부와 표준 출력(stdout) 개념 (0) | 2026.01.07 |