Menu
CoddyTech

Что такое канал

Часть раздела Основы путешествия по Terminal на Coddy. Урок 43 из 82.

Перенаправление позволяет отправлять вывод в файлы, но что, если вы хотите передать вывод одной команды напрямую другой команде? Для этого и нужны конвейеры.

Канал соединяет стандартный вывод одной команды со стандартным вводом другой с помощью символа |. Вместо сохранения промежуточных результатов в файл данные передаются напрямую между командами.

cat names.txt | sort

Это берёт результат cat names.txt и напрямую передаёт его в sort. Отсортированный результат появляется на экране, не создавая временных файлов.

Без конвейеров вам потребовалось бы выполнить несколько шагов:

cat names.txt > temp.txt
sort < temp.txt
rm temp.txt

Конвейер выполняет ту же задачу одной элегантной командой. Представь, что команды соединены, как участки конвейера: данные поступают с одного конца и последовательно проходят через каждую команду, пока не достигнут конечного результата.

challenge icon

Задание

Легко

Используй конвейер, чтобы прочитать содержимое файла fruits.txt и отсортировать его по алфавиту одной командой.

Выполни команду, которая:

  • Использует cat, чтобы прочитать fruits.txt
  • Передаёт вывод в sort с помощью символа |

Подсказка: Формат: cat filename | sort. Вывод команды cat напрямую передаётся команде sort, поэтому промежуточные файлы не нужны.

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Terminal