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를 사용하면 다른 사용자가 소유한 파일에 쓸 수 있습니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Bash 함수 사용 방법, 예제, 명령어 (0) | 2021.05.08 |
---|---|
CentOS 7 : FFmpeg 설치, 사용 방법, 예제, 명령어 (0) | 2021.05.07 |
Debian : 설치된 패키지 나열하는 방법 (0) | 2021.05.05 |
Ubuntu 18.04 : Python 3.7 설치 방법, 예제, 명령어 (0) | 2021.05.04 |
Linux : 대용량 파일 찾는 방법 (0) | 2021.05.03 |