Tee

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

tee — утиліта UNIX-подібних систем, яка зчитує дані з потоку вводу і одночасно виводить їх та записує до файлу, назва якого передається як параметр[1]. Назва походить від букви "Т", яка нагадує потрійне з’єднання труб, що використовується у сантехніці. [2]

Опис і синтаксис

[ред. | ред. код]
Використання tee: Вивід ls -l перенаправляється до tee. Ця команда пише дані до файлу file.txt і передає далі команді less для виводу на екран. Назва tee походить від цієї схеми, що нагадує літеру T

tee потрібна для того, щоб "роздвоїти" вивід програми: дані будуть одночасно показуватись на екрані та записуватимуться до файлу. Команда використовується всередині ланцюжку інших команд, отримує дані і передає їх далі.

У UNIX-подібних системах

[ред. | ред. код]
tee [ -a ] [ -i ] [ File ... ]

Аргументи:

  • File Один або більше файлів, у яких зберігатимуться отримані дані.

Опції:

  • -a Вміст файлу File буде доповнюватись, а не перезапишеться
  • -i Команда ігноруватиме сигнали переривань.

Команда завершується з наступним результатом:

  • 0 Якщо стандартний вивід було скопійовано до усіх вказаних файлів.
  • >0 Якщо виникла якась помилка.

Приклад:

  • Звичайне використання:
lint program.c | tee program.lint

Результат обстеження файлу program.c програмою lint буде збережено до program.lint і одночасно виведено на екран.

  • Перенаправлення STDERR:
ls ./ qwerty 2>&1 | tee ls.log

За помовчанням tee отримує дані зі стандартного потоку виводу. У цьому разі, якщо файл qwerty відсутній в каталозі, повідомлення про це буде записане у потік помилок. Відповідно, до файлу ls.log воно не потрапить. Для того, щоб це сталось, треба об’єднати потоки виводу та помилок конструкцією 2>&1


tee [-FilePath] <String> [-InputObject <PSObject>]
tee -Variable <String> [-InputObject <PSObject>]
  • -InputObject <PSObject> Вказує джерело даних для команди.
  • -FilePath <String> Вказує файл, до якого буде збережено дані. Назва може містити байдужі символи, якщо вони приведуть лише до одного варіанту.
  • -Variable <String> Посилання на вхідні дані, присвоєні змінній.

Див. також

[ред. | ред. код]
  • An introduction on Linux I/O Redirection "Linux I/O Redirection" with tee
  • [1] [Архівовано 28 січня 2016 у Wayback Machine.] — сторінка допомоги man в Linux
  • [2][недоступне посилання з листопадаа 2019] — сторінка допомоги man в OpenBSD
  • [3] [Архівовано 29 січня 2016 у Wayback Machine.] — сторінка допомоги man в FreeBSD

Примітки

[ред. | ред. код]
  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. Процитовано 1 December 2013.
  2. In Unix, what do some obscurely named commands stand for?. Архів оригіналу за 17 жовтня 2013. Процитовано 3 лютого 2012.