Конвейер - последовательность команд, разделенных знаком | . Стандартный вывод всех команд, кроме последней, направляется на стандартный ввод следующей команды конвейера.

Каждая команда конвейера выполняется как самостоятельный процесс; shell ожидает завершения последней команды, код завершения которой становится кодом завершения конвейера. Формально будем считать простую команду частным случаем конвейера.

Связующее звено между последовательными компонентами конвейера - это временный файл, который называется каналом.

С помощью программы tee можно организовать ответвление канала:

ls -al /bin | grep "сент" | tee ~/tmpfile | wc -l

Ls передает список файлов из каталога /bin в фильтр grep, который, в свою очередь, отбирает из этого списка файлы, созданные в сентябре. Усеченный список файлов попадает на вход команды tee, которая направляет этот список в ~/tmpfile и на вход команды wc. Wc подсчитывает количество строк (файлов из каталога /bin созданных в сентябре).