Я использовал каналы и перенаправления в течение долгого времени и просто понимал, что не знаю точно, как они отличаются. Я просто знаю, что, если Вы хотите сохранить вывод в файле, затем Вы используете>. Иначе большую часть времени Вы просто используете |. Кто-то может объяснить различие между каналами и перенаправлениями?
Оба делают ту же основную вещь; они перенаправляют дескриптор файла выполняемого процесса. Различие заключается в как. Канал соединяет stdout одного процесса к stdin другого, тогда как перенаправление перенаправляет из файла (>
от stdout до файла, <
от файла до stdin).