Tee 명령어

개요[편집 / 원본 편집]

유닉스, 리눅스에서 명령어의 출력값을 파일에 저장시킬 수 있도록 하는 명령어. 윈도우의 > file.txt와 유사하다.

명령어 tee[1]는 배관에서 다른 배관과 연결하는 T자 스플리터에서 유래했다. 주로 파이프(|)와 함께 사용하여 명령어 출력 결과를 확인하면서 동시에 파일에 기록할 때 유용하다.

윈도우 명령어와의 차이점[편집 / 원본 편집]

윈도우는 아래와 같은 형식으로 명령어 결과를 파일에 저장할 수 있다.

C:\Users\admin\Desktop>ping 127.0.0.1 > result.txt

C:\Users\admin\Desktop>

명령어 실행 결과가 result.txt에 저장된다. 저장되는 중에는 명령어 결과가 프롬프트에 출력되지 않는다.

이에 반면에 tee 명령어는 명령어 결과가 화면에 출력되면서 파일에도 동시에 저장된다. 이러한 차이점은 실시간으로 명령어 결과를 확인해야 하는 상황에서 tee를 유용하게 만들어준다.

명령어 사용법[편집 / 원본 편집]

기존 명령어 | tee [-a 옵션] [-i 옵션] filename
  • -a 옵션 - 기존에 동일한 파일이 존재하는 경우, 이어 쓴다.
  • -i 옵션 - ctrl+c로 명령어 수행 취소를 할 수 없도록 한다.

예제[편집 / 원본 편집]

1. 명령어 출력 확인과 저장

echo "Hello, World!" | tee output.txt

위 명령어는 "Hello, World!"라는 문자열을 화면에 출력하고 동시에 output.txt 파일에 저장한다.

2. 파일에 결과 이어쓰기

echo "New line" | tee -a output.txt

-a 옵션을 사용하면 기존 output.txt 파일에 새로운 줄이 추가된다.

3. 명령어 중단 방지

long_running_command | tee -i output.txt

-i 옵션을 사용하면 ctrl+c로 실행을 중단할 수 없게 된다.

tee 명령어의 활용[편집 / 원본 편집]

1. 로그 확인 및 저장

tail -f /var/log/syslog | tee syslog_copy.log

시스템 로그를 실시간으로 확인하면서, 같은 내용을 syslog_copy.log 파일에 저장한다.

2. 다중 출력 활용

command | tee >(another_command)

명령어 출력을 여러 명령어와 파일에 동시에 전달할 때 사용된다. 이 방식은 고급 스크립트 작성에서 특히 유용하다.

관련 명령어[편집 / 원본 편집]

  • cat: 파일의 내용을 출력하거나 연결
  • echo: 문자열을 출력
  • tail: 파일의 마지막 부분을 출력

각주[편집 / 원본 편집]

  1. 위키의 한계상 문서의 첫글자는 무조건 대문자로 표시되는 것이며, 실제 명령어는 소문자 tee이다.