Skip to content

Latest commit

 

History

History
43 lines (26 loc) · 2.68 KB

103_4.md

File metadata and controls

43 lines (26 loc) · 2.68 KB

103.4 Потоки, конвейеры и перенаправления

Студент должен уметь управлять потоками для обработки текстовых данных

Изучаем :

  • перенаправление стандартных ввода, вывода и ошибок;
  • передачу вывода одной команды на ввод другой;
  • использование вывода одной команды в качестве аргументов другой;
  • получение выходных данных в файл и на стандартный вывод.

**Термины и утилиты: **

  • tee

  • xargs

  • stdin

  • stout

  • stderr

Linux традиционно использует потоки для ввода, вывода и ошибок. Обычно ввод – это клавиатура или файлы, а вывод ошибок и результатов происходит в консоль. Но часто бывает нужно объединить последовательность команд в конвейер, или отправить результат в какой-нибудь файл.

Для того чтобы послать на ввод программы некоторые данные используется знак " <", например:

wc < file** 1. txt ** (использовать в качестве ввода для программы wc файл file . txt_);_

Для того чтобы послать вывод программы куда-нибудь, кроме стандартного направления, используется знак " >", например:

ls > list**. **txt (перезаписать содержимое файла list . txt результатом команды ls_);_

ls >> list**. **txt (дописать в файл list . txt результат команды ls_);_

Для ввода, вывода и ошибок используются следующие обозначения:

  • Stdin – стандартный ввод программы (обозначение "0");
  • Stdoutстандартный вывод программы (обозначение "1");
  • Stderrстандартные ошибки программы (обозначение "2");

Например:

l** s bob 2> error.txt**

ls** bob **** > **** result . txt **** 2> **** error . txt**