Linux에서 사용되는 명령어 중 하나로, 파이프 라인으로 입력된 데이터를 동시에 여러 곳으로 출력하는 기능을 제공합니다. 즉, 화면에 출력하면서 동시에 데이터를 파일로도 저장할 수 있습니다.
기본 사용법
다음과 같이 명령 ls -la를 실행하여 화면으로 표준 출력 되는 데이터를 동시에 명령 tee를 사용하여 파일로 출력할 이름 filelist.txt을 지정합니다.
$ ls -la | tee filelist.txt
다음과 같이 파일 내용을 확인하면 화면으로 출력 된 내용과 동일함을 확인할 수 있습니다.
$ cat filelist.txt
total 8
drwxrwxrwt. 11 root root 4096 Mar 1 10:29 .
dr-xr-xr-x. 17 root root 244 Oct 27 2021 ..
drwxrwxrwt 2 root root 6 Mar 1 09:59 .ICE-unix
... 중간 생략 ...
append 모드 사용법
tee 명령어의 -a 옵션을 사용하여 기존 파일에 append 모드로 데이터를 추가할 수도 있습니다. 다음은 명령 df를실행하여 화면으로 표준 출력 되는 데이터를 동시에 명령 tee를 사용하여 기존 filelist.txt 파일에 append 모드로 데이터를 추가합니다.
$ df | tee -a filelist.txt
다음과 같이 파일 내용을 확인하면 이전 출력에 추가된 내용이 출력 되었음을 확인할 수 있습니다.
$ cat filelist.txt
total 8
drwxrwxrwt. 11 root root 4096 Mar 1 10:29 .
dr-xr-xr-x. 17 root root 244 Oct 27 2021 ..
drwxrwxrwt 2 root root 6 Mar 1 09:59 .ICE-unix
... 중간 생략 ...
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 3982868 0 3982868 0% /dev
tmpfs 4000180 16 4000164 1% /dev/shm
tmpfs 4000180 16988 3983192 1% /run
tmpfs 4000180 0 4000180 0% /sys/fs/cgroup
/dev/mapper/rhel-root 46110724 3317488 42793236 8% /
... 중간 생략 ...
여러 파일에 동시에 출력하기
마지막으로, tee 명령어는 여러 개의 파일에 동시에 출력할 수도 있습니다. 다음은 ip addr show 명령 결과를 ipaddr1.txt와 ipaddr2.txt 파일에 동시에 출력합니다.
$ ip addr show | tee ipaddr1.txt ipaddr2.txt
표준 에러,표준 출력을 하나의 파일로 출력하기
다음과 같이 2>&1
을 추가하면, 표준 에러(standard error)를 표준 출력(standard output)으로 리다이렉트하여, 모든 결과를 하나의 파일에 저장할 수 있습니다.
$ command 2>&1 | tee filename.log
댓글