bash
Потоки.
Любая программа работает с тремя потоками данных: stdin, stdout, stderr. Stdin - поток ввода(формируется пользователем; например, ответ на вопрос программы).
Stdout - поток вывода, содержит "ответ" программы на запрос пользователя; перенаправляется в файл при помощи спецсимвола
"1>" или ">". Stderr - поток ошибок, содержит отчет об ошибках; перенаправляется в файл при помощи спецсимвола
"2>".
Stdout и stderr выводтся вместе, разделить их можно, перенаправив один из потоков в файл.
Спецсимволы.
Спецсимволы - ряд символов, которые воспринимаютс программой как команды.
- Пробел/табуляция разделяет параметры.
- Кавычки/обратный слэш ("\") заставлют программу читать спецсимволы буквально, просто как символы. Пример. Нужно
открыть файл с названием "sezam otkroysya.txt". В данном случае команда "less [path]/sezam otkroysya.txt" не сработает, так как
"otkroysya.txt" будет прочитано программой как отдельный параметр. Открыть "sezam*" можно так: "less [path]/"sezam otkroysya.txt"",
или так: "less [path]/sezam\ otkroysya.txt".
- Перенаправление потоков задается символами "|, >, <". "|" (конвейер, pipe) направляет stdout одной
команды в stdin другой. Пример: для выполнения скрипта, записанного в файле script, можно использовать "less !!!!
">" Отправлет stdout в файл. Пример: "pwd > where_i_am.txt". "2>" отправлет stderr в файл.