Что такое | символ рядом с командой?

Я наткнулся на кого-то, используя команду zcat [filename].gz | less zcat [filename].gz | less чтобы открыть файл. Что такое | обычно делают, когда он использует таким образом? Я попытался разобраться с вопросом, но пока не нашел ответа.

EDIT: на самом деле ответ здесь: Каковы операторы управления и перенаправления оболочки?

| называется трубой , ее использование заключается в том, чтобы направлять вывод предыдущей команды ко второму входу.
См. Здесь .
Итак, в вашем примере:

 zcat [filename].gz | less 

выход zcat zcat на less входной сигнал, как если бы он был стандартным вводом. Таким образом, ваша команда эквивалентна:

 less `zcat [filename.gz` 

Но будьте осторожны, что труба работает только между stdout и stdin , другие дескрипторы файлов могут дать вам странные результаты или вообще ничего.