tee(명령어)

tee (command)
개발자AT&T Bell Laboratories, Mike Parker, Richard Stallman, David MacKenzie, Microware, JP Software, Microsoft
초기 릴리즈1974년 6월, 48년 전(1974-06)
기입처C
운영 체제Unix, Unix like, Plan 9, Inferno, OS-9, FreeDOS, Windows, ReactOS, IBM i
플랫폼크로스 플랫폼
유형명령어
면허증.FreeDOS: GPL-2.0 이후
ReactOS: GPLv2
계획 9: MIT 라이선스

컴퓨팅에서 는 표준 입력을 읽고 [1]표준 출력과 1개 이상의 파일 양쪽에 쓰기하여 입력을 효과적으로 복제하는 표준 스트림을 사용하는 명령줄 인터프리터()의 명령어입니다.주로 파이프 및 필터함께 사용됩니다.이 명령어는 [2]배관에 사용되는 T-스플리터의 이름을 따서 명명되었습니다.

개요

사용 예:의 출력ls -l파일 파일에 복사하는 TE로 리다이렉트 됩니다.txt 및 호출기에 접속합니다.lesstee라는 이름은 이 스킴에서 따왔다. 대문자 T처럼 보인다.

tee명령어는 일반적으로 프로그램의 출력을 분할하여 파일에 표시 및 저장할 수 있도록 하기 위해 사용됩니다.이 명령을 사용하여 다른 명령 또는 프로그램에 의해 데이터가 변경되기 전에 중간 출력을 캡처할 수 있습니다.tee 명령은 표준 입력을 읽은 다음 내용을 표준 출력에 씁니다.데이터를 지정된 파일 또는 변수에 동시에 복사합니다.구문은 명령어 구현에 따라 달라집니다.

실장

이 명령어는 Unix 및 Unix와 유사운영 체제인 Microware에서 사용할 수 있습니다.OS-9,[3] DOS(: 4DOS, FreeDOS), Microsoft Windows(예: 4NT, Windows PowerShell), ReactOS.[4]Linuxtee 커맨드는 마이크 파커, 리처드 스톨먼, 데이비드 맥켄지에 [5]의해 작성되었다.이 명령어는 일반적인 GNU Unix 유사 [6]유틸리티의 nativeWin32ports UnxUtils 컬렉션의 일부로 Microsoft Windows용 별도의 패키지로 사용할 수 있습니다.FreeDOS 버전은 Jim Hall에 의해 개발되었으며 GPL[7]따라 라이센스가 부여됩니다.tee 명령어는 IBM i 운영 [8]체제에도 이식되었습니다.

게다가sponge[9] 명령어는 유사한 기능을 제공합니다.

Unix 및 Unix 유사

tee [ - a ][ - i ][파일...]

인수:

  • File ... 각각 출력을 수신하는 파일의 리스트.

플래그:

  • -a 출력을 덮어쓰지 않고 각 파일에 추가합니다.
  • -i 인터럽트를 무시합니다.

이 명령어는 다음 종료 값(종료 상태)을 반환합니다.

  • 0 표준 입력이 모든 출력 파일에 복사되었습니다.
  • 0 에러가 발생했습니다.

프로세스 대체를 사용하면 두 개 이상의 프로세스가 원래 프로세스의 표준 출력을 읽을 수 있습니다.이 예는 GNU Coreutils, tee invocation에서 읽어보십시오.

주의: 정상적으로 열린 파일 오퍼랜드에 쓸 수 없는 경우, 정상적으로 열린 다른 파일 오퍼랜드 및 표준 출력에 쓰기는 계속되지만 종료 값은 0보다 커집니다.

4DOS 및 4NT

TEE [/A] 파일... 

인수:

  • file "tee'd" 출력을 수신하는 하나 이상의 파일.

플래그:

  • /A 파이프라인 콘텐츠를 덮어쓰지 않고 출력 파일에 추가합니다.

참고: 파이프와 함께 te를 사용할 경우 이전 명령어의 출력이 임시 파일에 기록됩니다.명령어가 완료되면 TEE는 임시 파일을 읽고 출력을 표시하여 명령줄 인수로 지정된 파일에 씁니다.

Windows PowerShell

tee [-FilePath] <String> [-InputObject <PSObject> tee - 가변 <String> [-InputObject <PSObject>]

인수:

  • -InputObject <PSObject> cmdlet에 대한 개체 입력을 지정합니다.매개 변수에는 개체를 반환하는 개체와 명령 또는 식을 포함하는 변수를 사용할 수 있습니다.
  • -FilePath <String> cmdlet이 개체를 저장할 파일을 지정합니다.파라미터에는 단일 파일로 확인되는 와일드카드 문자를 사용할 수 있습니다.
  • -Variable <String> 입력 객체에 대한 참조가 지정된 변수에 할당됩니다.

주의: Tee는 다음 명령어로 구현됩니다.ReadOnly 명령어 에일리어스내부 cmdlet 이름은 다음과 같습니다.Microsoft.PowerShell.Utility\Tee-Object.

Unix 및 Unix 유사

  • 명령어(lint)의 출력을 동시에 표시 및 저장하려면 다음 절차를 수행합니다.
lint program.c tee program.syslog

이 명령어의 표준 출력이 표시됩니다.lint program.c그 복사본을 파일에 저장합니다.program.lint. 파일 이름이program.lint이미 존재합니다.삭제 및 치환됩니다.

마찬가지로 stdout 및 stderr 출력 스트림은 모두 표준 출력으로 리다이렉트할 수 있으며program.lint스트림 리다이렉션 사용:

lint program.c 2>&1 tee program.syslog
  • 명령어의 출력을 표시 및 기존 파일에 추가하려면 다음 절차를 수행합니다.
lint program.c tee -a program.disc

이 출력에는, 의 표준 출력이 표시됩니다.lint program.c명령어를 컴퓨터에 설치하는 동시에 명령어의 복사본을program.lint파일. 만약program.lint파일이 존재하지 않고 생성됩니다.

  • 권한 에스컬레이션을 허용하려면:
cat ~/.dev/id_dev.pub ssh admin@server "sudo tee - a /root/.dev/keys 2 > / authorized_keys2 > /dev/dev"

이 예에서는 sudo 명령의 고유 제한을 바이패스하기 위해 tee를 사용하는 방법을 보여 줍니다.sudo는 표준 출력을 파일로 파이핑할 수 없습니다.stdout 스트림을 버림으로써/dev/null또한 콘솔의 미러 출력도 억제합니다.위의 명령어는 사용자의 공용 키를 서버의 키 권한 목록에 설치하여 ssh를 통해 서버에 대한 현재 사용자 루트 액세스 권한을 부여합니다.

Bash에서는 프로세스 치환을 사용하여 표시되는 출력에 영향을 주지 않고 파일에 쓰기 전에 출력을 필터링할 수 있습니다.예를들면,

ls --color=항상 티>(sed "s/\x1b[^m]*m//g"> ls.txt)

쓰기 전에 일반적인 ANSI 이스케이프 코드를 삭제합니다.ls.txt[10]표시용으로 보관합니다.

4DOS 및 4NT

이 예에서는 파일을 검색합니다.wikipedia.txt문자열 "4DOS"를 포함하는 행에 대해 일치하는 행을 복사합니다.4DOS.txt행을 정렬하여 출력 파일에 씁니다.4DOSsorted.txt:

"4DOS" 위키피디아를 찾습니다.txt tee 4DOS.txt 정렬> 4DOS 정렬.txt

Windows PowerShell

  • 명령어의 출력을 동시에 표시 및 저장하려면 다음 절차를 수행합니다.
ipconfig(설정)   출력 파일.txt 

이 명령어의 표준 출력이 표시됩니다.ipconfig콘솔 에서 그 복사본을 동시에 파일에 저장합니다.OutputFile.txt.

  • 실행 인 모든 프로세스를 표시 및 저장하려면 svc로 시작하여 1000개 이상의 핸들을 소유하는 프로그램만 출력되도록 필터링합니다.
취득 프로세스   위치-객체 { $_.이름. -라이크 "c*" }   티오브젝트 ABC.txt   위치-객체 { $_.핸들 -gt 1000 } 

이 예에서는 tee의 파이핑된 입력은 필터링할 수 있으며 tee는 출력을 표시하기 위해 사용됩니다.이 출력은 1000개 이상의 핸들을 가진 프로세스만 표시되도록 다시 필터링되고 필터링되지 않은 출력은 파일에 기록됩니다.ABC.txt.

  • Windows Powershell은 이진 및 원시 데이터에는 적합하지 않으며 스트림을 항상 텍스트로 취급하며 전송 시 데이터를 수정합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Man Page for tee (posix Section 1)". IEEE Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6. Retrieved 1 December 2013.
  2. ^ "In Unix, what do some obscurely named commands stand for?". Retrieved 3 February 2012.
  3. ^ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
  4. ^ "reactos/reactos". GitHub. 3 January 2022.
  5. ^ "tee(1): read from stdin/write to stdout/files - Linux man page". linux.die.net.
  6. ^ "Native Win32 ports of some GNU utilities". unxutils.sourceforge.net.
  7. ^ "ibiblio.org FreeDOS Package -- tee (Unix-like)". www.ibiblio.org.
  8. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 5 September 2020.
  9. ^ "sponge(1): soak up stdin/write to file - Linux man page". linux.die.net.
  10. ^ "GNU Coreutils: tee invocation". Retrieved 3 February 2016.

추가 정보

외부 링크