개요
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` 옵션을 사용하여 기존 내용을 보존해야 합니다.