В системе по-умолчанию всегда открыты три «файла»:
Ко всему прочему, потоки пронумерованы:
Управление потоками
>
- передать в;>>
- дописать в;Для работы с потоками, часто используют команды
Самый простецкий пример работы конвейера, выведем все файлы и директории содержащие букву r
ls | grep r error.txt folder result.txt
Удаление найденных файлов
find . -name "*.txt" | xargs rm -f
Перенаправление stderr на stdout. Сообщения об ошибках передаются туда же, куда и стандартный вывод.
cron job command > /dev/null 2>&1
Перенаправление ошибки в файл
ls NoExistFile 2> report.txt cat report.txt ls: cannot access 'NoExistFile': No such file or directory
Перенаправляем ошибки в отдельный файл
ls NoExistFile > report.txt 2> error.txt
Вывод результата на экран и в файл
ls | tee output.txt file1.txt file2.txt file3.txt cat output.txt file1.txt file2.txt file3.txt