Linux에서 tee 명령을 사용하는 방법

Linux에서 tee 명령을 사용하는 방법

주요 시사점

  • Linux의 “tee” 명령은 명령 출력을 파일에 저장하는 동시에 터미널에도 표시합니다.
  • 또한 여러 파일에 동시에 출력을 쓸 수 있으므로 시스템 로그를 쉽게 백업하고 추적할 수 있습니다.
  • “tee” 명령은 파이핑을 통해 다른 명령과 함께 사용할 수도 있습니다. 이를 통해 출력을 파일에 저장하는 동안 추가 처리가 가능해집니다. 예를 들어 다음 명령에서 “ls”와 함께 사용할 수 있습니다. “ls ~ | 티리스트.txt”

tee명령은 나중에 검토할 수 있도록 명령 출력을 저장할 수 있습니다. 이 명령은 출력을 화면에 표시할 뿐만 아니라 별도의 로그 파일 에도 기록합니다 . 시간 경과에 따른 디스크 공간 사용량을 추적할 수 있도록 df 명령 의 출력을 파일에 저장한다고 가정해 보겠습니다 . 이 명령은 프로세스 기록을 유지 관리하므로 프로세스 문제를 해결하는 데 도움이 됩니다.

Linux에서 tee 명령은 무엇입니까?

Linux tee명령은 Linux에서 시간을 절약하고 효율성을 향상시키는 데 유용한 도구입니다. 표준 입력(stdin)을 읽고 표준 출력(stdout) 과 사용자가 지정한 파일 에 쓸 수 있습니다. 이 tee명령은 물을 두 방향으로 나누는 T자형 파이프처럼 작동합니다. 이를 통해 프로그램의 출력을 보고 동시에 파일에 저장할 수 있습니다.

tee명령은 두 가지 작업을 함께 수행합니다. 선택한 파일이나 변수에 출력을 복사하여 표시할 수 있습니다. 이 명령은 출력을 다른 위치로 보내기 위해 쉘 스크립트 및 터미널 명령 에도 사용됩니다 . tee명령을 사용하여 백업을 만들고 , 스크립트에서 오류를 찾고, 시스템 로그를 추적할 수 있습니다.

이 명령을 사용하면 다른 명령과 함께 파이프tee 할 수도 있습니다 . 이렇게 하면 출력을 파일에 저장할 수 있고 다른 명령을 사용하여 추가로 처리할 수도 있습니다.

거의 모든 Linux 배포판에는 teeCoreutils 패키지의 일부인 명령이 사전 설치되어 있습니다.

tee명령은 다른 Linux 명령과 유사한 구문을 따릅니다. 여기에는 –OPTIONS 및 FILES라는 두 가지 인수가 있습니다.

tee [OPTION]... [FILE]...

사용 중인 명령 의 버전을 확인하려면 tee다음 명령을 실행하면 됩니다.

tee --version

터미널의 tee 명령 버전

명령의 구문 및 사용 가능한 인수에 대한 도움이 필요한 경우 tee다음을 입력하십시오.

tee --help

티 명령 도움말

tee 명령 옵션

tee명령에는 기능을 수정할 수 있는 몇 가지 옵션이 있습니다. 아래 표에는 tee명령을 효율적으로 사용하는 데 도움이 되는 몇 가지 옵션이 나와 있습니다.

옵션

설명

-a or --append

파일을 덮어쓰는 대신 파일 끝에 출력을 추가합니다.

-i or --ignore-interrupts

Ctrl+C와 같은 인터럽트 신호를 무시합니다.

-p or --output-error

파일에 쓸 때 발생하는 각 오류에 대해 표준 오류에 대한 오류 메시지를 인쇄합니다.

--help

명령 옵션과 관련된 기본 도움말을 표시합니다.

--version

명령 버전을 표시합니다 tee.

tee를 사용하여 Linux에서 파일에 출력 저장

tee명령은 명령 출력을 파일에 저장하는 동시에 터미널에도 표시합니다. 예를 들어, 이 명령을 사용하면 홈 디렉터리의 파일과 디렉터리를tee 볼 수 있고 별도의 파일에 저장할 수도 있습니다. 이렇게 하려면 다음과 같이 ls 명령을 사용하여 명령을 파이프하십시오.tee

ls ~ | tee list.txt

tee 명령을 사용하여 ls를 실행하고 출력을 텍스트 파일에 저장

그러면 홈 디렉터리의 모든 파일과 디렉터리가 표시되고 “list.txt”에 기록됩니다. “list.txt”의 내용을 보려면 cat , less 또는 morecommand와 같은 텍스트 편집기나 명령을 사용하십시오.

cat list.txt

목록 텍스트 파일을 읽는 cat 명령

출력을 저장하고 보려면 echo 명령을 사용하여 또 다른 예를 수행해 보겠습니다 . 먼저 echo명령을 사용하여 터미널에 텍스트를 인쇄합니다. 그런 다음 “output.txt”라는 파일에 동일한 텍스트를 쓰라는 명령 tee과 함께 명령을 파이프했습니다.echo

echo "Welcome to Ubuntu"| tee output.txt

tee 명령을 사용한 echo 명령 파이프

마지막으로 cat 명령을 사용하여 “output.txt” 파일의 내용을 확인합니다.

cat output.txt

텍스트 파일 내용을 읽는 cat 명령

tee를 사용하여 Linux에서 여러 파일에 출력 쓰기

tee명령은 동시에 여러 파일에 출력을 쓸 수도 있습니다. tee작성하려는 명령 뒤에 파일 이름을 정의하기만 하면 됩니다 . 공백으로 구분하면 됩니다.

예를 들어 명령 출력을 echo세 개의 다른 파일에 저장하려면 다음 구문을 사용합니다.

echo "Welcome to Ubuntu"| tee file1.txt file2.txt file3.txt

여러 파일 이름을 가진 tee 명령으로 파이프된 echo 명령

그러면 file1.txt, file2.txt, file3.txt라는 세 개의 파일에 “Welcome to Ubuntu”라는 문자열이 기록됩니다. 터미널에도 표시됩니다. 이러한 파일의 내용을 보려면 다음 cat명령 을 사용하십시오 head.

head -v file1.txt file2.txt file3.txt

여러 텍스트 파일 내용을 읽는 head 명령

마찬가지로 cat명령을 실행해도 동일한 출력이 표시됩니다.

cat -v file1.txt file2.txt file3.txt

여러 텍스트 파일 내용을 읽는 cat 명령

명령 을 사용하여 원하는 수의 파일에 출력을 쓸 수 있습니다 tee. tee명령 뒤에 공백을 두고 파일 이름을 입력하면 됩니다 .

tee를 사용하여 파일에 출력 추가

Linux의 명령 tee은 기본적으로 파일 내용을 덮어씁니다. 명령에 or 옵션을 사용하면 -a내용 을 바꾸는 대신 파일 끝에 출력을 추가할 수 있습니다.--appendtee

파일에 데이터를 추가하기 전에 아래 명령을 사용하여 파일에 있는 현재 데이터를 확인해 보겠습니다.

cat output.txt

output.txt 파일에서 데이터를 읽는 cat 명령

이제 다음을 입력하여 덮어쓰지 않고 새 데이터를 추가할 수 있습니다.

echo "tee Command on Linux"| tee -a output.txt

기존 파일에 출력을 추가하는 tee 및 -a 옵션과 함께 파이프된 echo 명령

이렇게 하면 이전 내용을 삭제하지 않고 출력.txt 끝에 명령 출력이 추가됩니다. 확인하려면 다음 cat명령을 실행하십시오.

cat output.txt

출력 텍스트 파일을 읽는 cat 명령

tee를 사용하여 출력 숨기기

때로는 명령 출력을 터미널에 표시하지 않고 파일에 저장하고 싶을 수도 있습니다. 이는 불필요한 출력으로 터미널을 어지럽히지 않고 자동으로 명령을 실행하려는 경우 유용할 수 있습니다. 이러한 경우 명령 출력을 장치로 보내야 합니다 /dev/null. 는 /dev/null종종 “널 장치” 또는 “널 파일”이라고도 합니다. 이는 데이터 싱크 역할을 합니다. 즉, 여기에 기록된 모든 데이터가 삭제되고 실제로 어디에도 저장되지 않습니다.

명령의 출력을 숨기는 방법은 다음과 같습니다 echo.

echo "Welcome to Ubuntu"| tee output.txt > /dev/null

tee 명령 및 dev null 장치로 파이프된 echo 명령

이렇게 하면 명령의 출력이 output.txt에 기록되고 로 보내지므로 /dev/null화면에서 효과적으로 숨겨집니다. 그러나 이 cat명령을 사용하면 파일 내용을 보고 출력을 확인할 수 있습니다.

cat output.txt

텍스트 파일 내용을 읽는 cat 명령-1

tee를 사용하여 한 명령의 출력을 다른 명령으로 리디렉션

tee명령은 한 명령의 출력을 파일이나 다른 명령으로 리디렉션할 수도 있습니다. 파이프(|)가 포함된 명령 tee을 사용하면 첫 번째 명령의 출력을 표준 출력과 두 번째 명령 또는 파일 모두로 보낼 수 있습니다. 다음 예를 고려하십시오.

echo "This is Ubuntu"| tee output.txt | wc -c

출력을 리디렉션하기 위해 tee 및 wc로 파이프된 echo 명령

“Welcome to Ubuntu” 명령 echo출력이 output.txt 파일에 기록됩니다. 그런 다음 파이프라인 연산자가 tee명령과 함께 사용됩니다. 그러면 파일 내용이 wc 명령 으로 전달됩니다 . 이 wc명령은 계산된 총 문자 수를 출력하고 정수 값을 표시합니다.

tee명령이 파일에 출력도 기록했는지 확인하려면 cat명령을 사용하여 파일 내용을 표시합니다.

cat output.txt

출력 텍스트 파일을 읽는 Cat 명령

sudo와 함께 tee 명령 사용

명령을 사용하면 tee명령 출력이 일반 파일에 기록됩니다. 그러나 시스템 디렉터리나 보호된 파일과 같은 일부 파일 및 디렉터리를 수정하려면 수퍼유저 권한이 필요합니다. 이러한 파일이나 다른 사용자가 소유한 파일에 쓰려면 와 tee함께 사용하세요 sudo.

아래 예에서는 sudo를 사용하지 않고 루트 소유의 “file.conf” 파일을 작성하려고 하면 권한 거부 오류가 발생합니다.

echo "This is Ubuntu"| tee -a /etc/file.conf

sudo 권한 없이 tee 명령으로 파이프된 echo 명령

sudo그러나 명령 과 함께 사용하면 tee오류 없이 실행됩니다. 명령을 사용하여 루트 사용자 또는 파일 소유자로 명령을 sudo실행할 수 있습니다. 다음 명령을 앞에 tee추가하기만 하면 됩니다 .sudotee

echo "This is Ubuntu"| sudo tee -a /etc/file.conf

sudo 권한이 있는 tee 명령으로 파이프된 echo 명령

먼저, tee명령은 명령 출력을 사용합니다 echo. 그런 다음 권한이 상승 sudo하고 텍스트를 파일에 씁니다.

Bash 스크립트에서 tee를 사용하는 예

tee명령은 다양한 스크립팅 시나리오에서 유용할 수 있습니다. 추가 처리 또는 디버깅을 위해 명령 출력을 기록하거나 캡처하는 데 도움이 됩니다. 이 tee명령은 출력을 표시할 뿐만 아니라 나중에 사용할 수 있도록 파일에 저장합니다.

예를 들어, 터미널에서 날짜와 시간을 확인하고 log.txt라는 파일에 기록하려면 다음 bash 스크립트를 사용하세요 .

#!/bin/bashdate | tee log.txt

날짜를 로그 파일에 저장하는 Bash 스크립트

이 경우 표준 입력은 현재 날짜와 시간을 표시하는 date 명령의 출력입니다. 이 tee명령은 이 출력을 터미널과 log.txt 파일에 기록합니다. log.txt 파일이 없으면 생성됩니다. -a존재하는 경우 파일에 추가하는 옵션을 사용하지 않는 한 덮어쓰게 됩니다 .

cat log.txt

로그 파일 내용을 읽는 Cat 명령

#!/bin/bashdate | tee log1.txt log2.txt

tee 명령을 사용하여 여러 파일을 작성하는 Bash 스크립트

이 스크립트는 날짜와 시간을 터미널과 log1.txt 및 log2.txt라는 두 파일에 인쇄합니다. 명령을 사용하여 두 파일 내용을 모두 읽습니다 cat.

cat log1.txt log2.txt

여러 로그 텍스트 파일 내용을 읽는 Cat 명령

명령 을 사용하여 입력을 받아 로그 파일에 저장하는 또 다른 간단한 bash 스크립트를 고려해 보겠습니다 tee.

#!/bin/bashlog_file="user_input.log"echo "Please enter some text:"read user_inputecho "$user_input" | tee -a "$log_file"echo "User input has been logged to $log_file"

사용자 입력을 읽고 출력을 터미널에 표시하는 Bash 스크립트

주어진 bash 스크립트에서 “log_file”이라는 변수를 정의하고 “user_input.log”와 같이 사용하려는 로그 파일의 이름을 할당합니다. 그런 다음 echo명령과 read명령을 사용하여 텍스트를 입력하고 변수에 저장하라는 메시지를 표시합니다. 그런 다음 터미널에 Enter 입력을 표시하고 로그 파일에 추가하는 옵션 tee과 함께 명령을 사용합니다.-a

마지막으로 echo명령을 다시 사용하여 피드백을 제공합니다. 그러면 입력 내용이 파일에 기록되었음을 알 수 있습니다. 이렇게 하면 입력 내용을 로그 파일에 저장하고 화면에 표시하는 bash 스크립트를 만들 수 있습니다.

명령을 사용하여 bash 스크립트를 실행하십시오 bash.

bash test.sh

테스트 스크립트를 실행하는 bash 명령

Linux 시스템의 프로세스 모니터링

Linux 시스템이 얼마나 잘 실행되고 있는지 확인하려면 해당 프로세스의 활동을 관찰해야 합니다. 여기에는 CPU 및 메모리 사용량, 디스크 I/O, 네트워크 활동이 포함됩니다.

명령 과 마찬가지로 teeLinux에는 프로세스를 쉽게 모니터링하는 데 도움이 되는 여러 다른 명령이 있습니다. 주요 명령 중 일부에는 ps , toppgrep 명령이 포함됩니다. Linux 시스템은 종종 여러 프로세스를 동시에 실행합니다. 이러한 명령을 사용하면 중요한 작업의 우선 순위를 지정하고 리소스를 적절하게 할당하며 리소스 경합을 방지할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다