Linux

[리눅스] tee 명령어 완벽 가이드 사용법(파일저장 & 화면출력)

인생아 2024. 10. 22. 17:59
반응형

리눅스에서 tee 명령어는 표준 입력(stdin)에서 받은 데이터를 파일에 저장하면서 동시에 표준 출력(stdout)으로 출력할 때 사용됩니다. 이는 파이프라인에서 중간 데이터를 파일로 저장하거나 다른 프로세스에 전달해야 할 때 매우 유용한 도구입니다. tee 명령어는 주로 여러 명령어의 출력을 파일에 기록하거나 즉시 확인하고자 할 때 사용됩니다.

tee 사용법

tee 명령어의 기본 문법은 다음과 같습니다:

command | tee [옵션] 파일명

위에서 command는 명령어이며, 파일명은 출력을 저장할 파일 이름입니다.

tee 명령어는 파일에 데이터를 기록하는 동시에 명령어의 출력을 화면에 출력하기 때문에, 명령어가 실행되는 동안 실시간으로 결과를 확인할 수 있습니다. 기본적으로 tee는 파일을 덮어쓰지만, 파일에 내용을 추가하려면 -a 옵션을 사용합니다.

기본 사용 예시

다음은 ls 명령어의 출력을 output.txt 파일에 저장하면서 동시에 화면에 출력하는 예제입니다:

ls -l | tee output.txt

이 명령어는 현재 디렉토리의 파일 목록을 output.txt 파일에 저장하면서 화면에도 출력합니다.

파일에 내용 추가하기

기존 파일에 내용을 덮어쓰지 않고, 내용을 추가하려면 -a 옵션을 사용할 수 있습니다:

echo "새로운 내용 추가" | tee -a output.txt

이 명령어는 output.txt 파일에 "새로운 내용 추가"라는 텍스트를 추가하면서, 동시에 화면에 출력합니다.

리눅스 터미널 예시

다음은 tee 명령어가 리눅스 터미널에서 실행되는 예시입니다:

user@linux:~/documents$ echo "Hello, World!" | tee hello.txt
Hello, World!

user@linux:~/documents$ cat hello.txt
Hello, World!

위 예제에서는 echo 명령어로 출력된 "Hello, World!"를 hello.txt 파일에 저장하면서 동시에 화면에 출력하는 것을 볼 수 있습니다.

또 다른 예로, 기존 파일에 내용을 추가하는 명령어는 다음과 같습니다:

user@linux:~/documents$ echo "This is a test." | tee -a hello.txt
This is a test!

user@linux:~/documents$ cat hello.txt
Hello, World!
This is a test!

위 예시에서는 -a 옵션을 사용하여 hello.txt 파일에 새로운 내용을 추가하고 있습니다.

파이프라인에서 사용

tee는 파이프라인에서 다른 명령어와 함께 사용되어 중간 데이터를 저장하거나 확인할 수 있습니다. 예를 들어, 파일의 내용을 대문자로 변환하면서 그 결과를 파일에 저장하려면 다음과 같이 사용할 수 있습니다:

cat file.txt | tr 'a-z' 'A-Z' | tee output.txt

이 명령어는 file.txt의 내용을 대문자로 변환하고, 그 결과를 output.txt에 저장하면서 화면에도 출력합니다.

참고사이트

반응형