파이프의 중간이나 끝에서 「출력을 화면과 파일 두 곳에 동시에」 보내고 싶을 때 tee를 씁니다.
T자 모양의 파이프 분기를 떠올리면 됨.
기본.
command | tee output.log — command의 출력을 화면과 output.log에 동시.
> 만 쓰면 화면에 안 보이고 파일에만 — 화면 확인 못 함.
tee가 두 곳에 보내 줘 진행 확인 가능.
append.
tee -a로 추가(기본은 덮어쓰기).
긴 작업 로그를 누적할 때.
여러 파일.
command | tee a.log b.log — 두 파일 모두에 동시 저장.
같은 결과를 여러 곳에 둬야 할 때.
sudo와 결합.
echo "text" | sudo tee /etc/file — sudo echo "text" > /etc/file은 안 됨(리다이렉션은 echo가 아닌 셸이 처리, 셸이 sudo 권한 없음).
sudo tee로 우회.
/etc/ 같은 보호된 파일에 쓸 때 표준 패턴.
한 줄 요약
tee는 출력을 화면 + 파일 두 곳에 동시.
command | tee log로 진행 확인 + 기록.
-a로 추가.
보호된 파일 쓰기에 sudo tee가 표준 우회 패턴.
더 알아볼 것
- tee >(grep error) 같은 process substitution
- script 명령 — 세션 전체 녹화
- tee + jq로 JSON 처리 흔적