> 파일 및 디렉토리 관리 > tee

tee: 표준 입력을 파일과 표준 출력으로 동시에 보내기

tee 명령어는 표준 입력을 받아서 이를 표준 출력으로 내보내는 동시에 하나 이상의 파일에 기록하는 유틸리티입니다. 주로 파이프라인에서 중간 결과를 확인하거나, 여러 파일에 동시에 데이터를 저장할 때 사용됩니다. `-a` 옵션은 파일에 내용을 덮어쓰는 대신 추가할 때 사용됩니다.

개요

tee 명령어는 'T'자형 파이프처럼 작동하여, 표준 입력으로 들어오는 데이터를 표준 출력으로 보내는 동시에 지정된 파일에 기록합니다. 이는 파이프라인 중간 결과를 모니터링하거나, 동일한 데이터를 여러 곳에 저장할 때 매우 유용합니다. 기본적으로 파일이 존재하면 내용을 덮어쓰지만, `-a` 옵션을 사용하면 기존 내용에 추가할 수 있습니다.

주요 특징

  • 표준 입력을 표준 출력과 파일로 동시 전송
  • 파일 내용 덮어쓰기 또는 추가하기
  • 파이프라인 중간 결과 확인에 유용

주요 옵션

tee 명령어의 주요 옵션들은 파일에 데이터를 기록하는 방식을 제어합니다.

기록 방식

생성된 명령어:

명령어를 조합해 보세요.

설명:

`tee` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

tee 명령어의 다양한 활용 예시입니다.

표준 출력을 파일에 덮어쓰기

echo "Hello World" | tee output.txt

기본 동작으로, 파일이 존재하면 내용을 덮어씁니다.

표준 출력을 파일에 추가하기

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

`-a` 옵션을 사용하여 기존 파일 내용의 끝에 새로운 내용을 추가합니다.

여러 파일에 동시에 기록하기

ls -l | tee file1.txt file2.txt

여러 파일 경로를 지정하여 동일한 내용을 동시에 기록할 수 있습니다.

sudo 권한으로 파일에 쓰기

echo "Restricted content" | sudo tee -a /var/log/system.log

일반 사용자가 쓰기 권한이 없는 시스템 파일에 내용을 기록할 때 유용합니다.

파이프라인 중간 결과 확인

cat /etc/passwd | grep "root" | tee root_users.txt | wc -l

파이프라인 중간에 tee를 사용하여 데이터를 파일에 기록하면서 다음 명령어로 전달합니다.

팁 & 주의사항

tee 명령어를 사용할 때 유용한 팁과 주의할 점입니다.

sudo와 함께 사용

  • `sudo tee`는 일반 사용자가 쓰기 권한이 없는 파일에 내용을 기록할 때 매우 유용합니다. `echo "내용" > /path/to/protected_file`은 리다이렉션이 셸에 의해 처리되므로 `sudo`가 적용되지 않지만, `echo "내용" | sudo tee /path/to/protected_file`은 `tee` 명령어가 `sudo` 권한으로 실행되어 파일에 쓸 수 있습니다.

파이프라인 활용

  • `tee`는 파이프라인 중간에 위치하여 데이터를 분기하는 역할을 합니다. 이를 통해 데이터가 다음 명령어로 전달되는 동시에 파일에 기록되므로, 디버깅이나 로깅에 효과적입니다.

-a 옵션의 중요성

  • `-a` 옵션을 사용하지 않으면 `tee`는 기본적으로 파일을 덮어씁니다. 중요한 로그 파일 등에 데이터를 추가할 때는 반드시 `-a` 옵션을 사용하여 기존 내용을 보존해야 합니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.


동일 카테고리 명령어