SW/리눅스

Linux : Tee 명령어 예제들 알아보기

얇은생각 2021. 5. 6. 07:30
반응형

tee 명령은 표준 입력에서 읽고 표준 출력과 하나 이상의 파일에 동시에 씁니다. 티는 대부분 배관을 통해 다른 명령과 조합하여 사용됩니다.

티 명령어 사용의 기본 사항을 다루겠습니다.

 

 

Linux : Tee 명령어 예제들 알아보기

 

 

tee 명령 구문

tee 명령의 구문은 다음과 같습니다.

tee [OPTIONS] [FILE]

 

options : 

    -a(--append) : 파일을 덮어쓰지 않고 지정된 파일에 추가합니다.

    -i(--ignore-interrupts) : 인터럽트 신호를 무시합니다.

    사용 가능한 모든 옵션을 보려면 tee - help를 사용합니다.

- FILE_NAMES : 출력 데이터가 기록되는 각 항목의 파일들입니다.

 

 

 

티 명령 사용 방법

티 명령의 가장 기본적인 용도는 프로그램의 표준 출력(stdout)을 표시하여 파일에 쓰는 것입니다.

다음 예에서는 df 명령을 사용하여 파일 시스템에서 사용 가능한 디스크 공간의 양에 대한 정보를 얻고 있습니다. 출력은 tee 명령으로 파이프 처리되어 터미널에 출력을 표시하고 disk_usage.txt 파일에 동일한 정보를 기록합니다.

cat 명령을 사용해 disk_usage.txt 파일의 내용을 볼 수 있습니다.

df -h | tee disk_usage.txt

# Filesystem      Size  Used Avail Use% Mounted on
# dev             7.8G     0  7.8G   0% /dev
# run             7.9G  1.8M  7.9G   1% /run
# /dev/nvme0n1p3  212G  159G   43G  79% /
# tmpfs           7.9G  357M  7.5G   5% /dev/shm
# tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
# tmpfs           7.9G   15M  7.9G   1% /tmp
# /dev/nvme0n1p1  511M  107M  405M  21% /boot
# /dev/sda1       459G  165G  271G  38% /data
# tmpfs           1.6G   16K  1.6G   1% /run/user/120

 

 

 

여러 파일 쓰기

tee 명령은 여러 파일에 쓸 수도 있습니다. 이렇게 하려면 공백으로 구분된 파일 목록을 인수로 지정합니다.

command | tee file1.out file2.out file3.out

 

 

 

파일에 추가

기본적으로 tee 명령은 지정된 파일을 덮어씁니다. 출력을 파일에 추가하려면 -a(--추가) 옵션을 사용합니다.

command | tee -a file.out

 

 

 

인터럽트를 무시

인터럽트를 무시하려면 -i(--무시 인터럽트) 옵션을 사용합니다. 이 기능은 Ctrl+C를 사용하여 실행하는 동안 명령을 중지하고 티를 정상적으로 종료할 때 유용합니다.

command | tee -i file.out

 

 

 

출력을 숨기기

표준 출력에 쓰지 않으려면 /dev/null로 리디렉션할 수 있습니다.

command | tee file.out >/dev/null

 

 

 

수도와 함께 티를 사용

sudo 사용자로 루트 소유의 파일에 쓰기를 원한다고 가정해 보겠습니다. 출력 리디렉션이 sudo에 의해 수행되지 않기 때문에 다음 명령이 실패합니다. 리디렉션이 권한 없는 사용자로 실행됩니다.

sudo echo "newline" > /etc/file.conf

# bash: /etc/file.conf: Permission denied

 

 

아래 그림과 같이 티 명령 앞에 sudo를 준비하기만 하면 됩니다.

echo "newline" | sudo tee -a /etc/file.conf

 

 

tee eco 명령의 출력을 수신하고 sudo 권한으로 상승시키고 파일에 씁니다.

sudo와 함께 tee를 사용하면 다른 사용자가 소유한 파일에 쓸 수 있습니다.

반응형