Linux / 명령어 / tee - 파이프 출력을 화면과 파일에 동시 저장

tee는 표준 입력을 표준 출력으로 보내면서 같은 내용을 하나 이상의 파일에도 기록합니다. 파이프 중간 결과를 보면서 저장할 때 유용합니다.

tee 명령어란?

기본적으로 지정한 파일을 덮어씁니다. 기존 기록 뒤에 추가하려면 -a를 사용합니다. 일반 > 리디렉션과 달리 파이프의 이후 명령에도 입력을 계속 전달할 수 있습니다.

기본 문법

명령 | tee [옵션] 파일 [파일 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man tee으로 현재 시스템의 설명을 확인하세요.

사용 예제

화면과 파일에 동시에

출력을 보면서 파일에 저장합니다.

date | tee run-time.txt

기존 로그 뒤에 추가

-a는 파일 끝에 덧붙입니다.

date | tee -a run-time.txt

중간 결과를 저장하며 계속 처리

정렬 결과를 저장한 뒤 이어서 앞부분만 확인합니다.

sort names.txt | tee names.sorted | head

화면과 파일에 동시에 남는 결과

파이프라인의 중간 결과를 화면에 보면서 파일에도 저장하려면 tee를 씁니다.

printf 'status=ok\n' | tee result.txt

화면에는 다음이 출력되고 result.txt에도 같은 한 줄이 기록됩니다.

status=ok

기본 동작은 대상 파일 덮어쓰기입니다. 기존 내용을 유지하고 뒤에 추가하려면 tee -a result.txt를 사용하세요. 관리자 소유 파일에 쓰려면 sudo 명령 > 파일보다 명령 | sudo tee 파일이 필요한 경우가 있습니다. 리디렉션은 현재 셸 권한으로 실행되기 때문입니다.

주요 옵션과 형식

옵션·형식 설명
-a 기존 파일을 덮지 않고 추가합니다.
-i 인터럽트 신호를 무시합니다.
-p GNU 구현에서 파이프 쓰기 오류 처리 방식을 조정합니다.

사용할 때 주의할 점

sudo 명령 > /보호된/파일은 리디렉션을 수행하는 현재 셸에 권한이 없어 실패할 수 있습니다. 이때 명령 | sudo tee 파일을 사용하지만, 입력 내용이 화면에도 표시되므로 비밀값에는 주의하세요. 오류 출력은 기본적으로 tee에 전달되지 않습니다.

자주 묻는 질문

tee가 표준 오류도 저장하나요?

기본적으로 표준 입력으로 들어온 내용만 저장합니다. 오류까지 포함하려면 상황에 맞는 셸 리디렉션을 명시하세요.

공식 문서

옵션의 정확한 동작과 구현별 차이는 tee 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / gzip - 파일을 gzip 형식으로 압축하기

Linux / 명령어 / gzip - 파일을 gzip 형식으로 압축하기

Linux gzip 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / date - 현재 시각 표시와 출력 형식 지정

Linux / 명령어 / date - 현재 시각 표시와 출력 형식 지정

Linux date 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / systemctl - systemd 서비스 상태 확인과 관리

Linux / 명령어 / systemctl - systemd 서비스 상태 확인과 관리

Linux systemctl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux 강좌 / 파일 시스템 이해하기 - 절대·상대 경로와 주요 디렉터리

Linux 강좌 / 파일 시스템 이해하기 - 절대·상대 경로와 주요 디렉터리

리눅스 파일 시스템의 트리 구조와 절대·상대 경로를 이해하고, /home·/etc·/var 등 주요 디렉터리의 역할과 경로를 읽는 방법을 익힙니다.

Linux / 명령어 / rm - 파일과 디렉터리 삭제

Linux / 명령어 / rm - 파일과 디렉터리 삭제

Linux rm 명령어로 파일과 디렉터리를 삭제하는 방법을 설명합니다. 재귀 삭제, 대화형 확인, 루트 보호 옵션과 복구가 어려운 삭제를 안전하게 다루는 원칙을 정리합니다.

Linux / 명령어 / journalctl - systemd 시스템·서비스 로그 조회

Linux / 명령어 / journalctl - systemd 시스템·서비스 로그 조회

Linux journalctl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / comm - 정렬된 두 파일의 공통·고유 행 비교

Linux / 명령어 / comm - 정렬된 두 파일의 공통·고유 행 비교

Linux comm 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / sync - 버퍼에 남은 쓰기 데이터 저장 요청

Linux / 명령어 / sync - 버퍼에 남은 쓰기 데이터 저장 요청

Linux sync 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / truncate - 파일 크기 줄이기와 늘리기

Linux / 명령어 / truncate - 파일 크기 줄이기와 늘리기

Linux truncate 명령어로 파일 크기를 지정하거나 늘리고 줄이는 방법을 설명합니다. 희소 파일, 상대 크기 조정, 기준 파일과 같은 크기로 맞추는 방법 및 데이터 손실 주의점을 알아봅니다.

Linux / 명령어 / sudo - 다른 사용자 권한으로 명령 실행

Linux / 명령어 / sudo - 다른 사용자 권한으로 명령 실행

Linux sudo 명령어로 허용된 명령을 root 또는 다른 사용자 권한으로 실행하는 방법을 설명합니다. 주요 옵션, 인증 캐시, 리디렉션 문제, visudo와 최소 권한 sudoers 설정 원칙을 정리합니다.