Як команди, як-от, ls
знають, що таке її stdout?
Здається ls
, працює по-різному, залежно від того, яка цільова верстка. Наприклад, якщо я це роблю:
ls /home/matt/tmp
результат:
a.txt b.txt c.txt
Однак якщо я це роблю
ls /home/matt/tmp | cat
результат (тобто новий рядок за результатом):
a.txt
b.txt
c.txt
Процес передається дескриптором файлу 1 для stdout, правда? Як воно визначає, як форматувати результат? Чи розкриває дескриптор файлу інформацію?