Что такое канал
Часть раздела Основы путешествия по Terminal на Coddy — урок 43 из 82.
Перенаправление позволяет отправлять вывод в файлы, но что, если вы хотите отправить вывод одной команды непосредственно в другую команду? Вот здесь и приходятся на помощь конвейеры.
Конвейер соединяет стандартный вывод одной команды со стандартным вводом другой с помощью символа |. Вместо сохранения промежуточных результатов в файл данные передаются напрямую между командами.
cat names.txt | sortЭто берёт вывод команды cat names.txt и передаёт его напрямую в sort. Отсортированный результат отображается на вашем экране без создания каких-либо временных файлов.
Без конвейеров вам пришлось бы выполнять несколько шагов:
cat names.txt > temp.txt
sort < temp.txt
rm temp.txtТруба выполняет то же самое в одной элегантной команде. Представьте её как соединение команд, словно секций трубопровода — данные поступают с одного конца и проходят через каждую команду последовательно, пока не достигнут конечного вывода.
Задание
ЛегкоИспользуйте конвейер для чтения содержимого fruits.txt и сортировки их в алфавитном порядке одной командой.
Выполните команду, которая:
- Использует
catдля чтенияfruits.txt - Передает вывод в
sortс помощью символа|
Подсказка: Формат:
cat filename | sort. Выводcatпоступает напрямую вsortбез необходимости в промежуточных файлах.
Шпаргалка
Конвейер конвейер соединяет стандартный вывод одной команды со стандартным вводом другой с помощью символа |:
cat names.txt | sortЭто берёт вывод команды cat names.txt и передаёт его напрямую в sort, избавляя от необходимости использовать временные файлы.
Без конвейеров потребовалось бы несколько шагов:
cat names.txt > temp.txt
sort < temp.txt
rm temp.txtДанные проходят через каждую команду последовательно, как секции конвейера.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данных