Bash

Bash

Потоки

stdin Стандартный поток ввода Cодержит то, что вы набираете на клавиатуре во время работы программы (например, в ответ на вопросы программы)
stdout Стандартный поток вывода Их содержание по умолчанию отображается в консольном окне(эти потоки не разделены). Однако разница появляется тогда, поток перенаправляется в файл: “>” (или “1>”) перенаправляет только stdout, “2>” перенаправляет только stderr
stderr Стандартный поток ошибки

Операторы перенаправления потоков

Символ Описание Пример использования
> (1>) Перенаправляет stdout команды в файл Команда "ls ~> dir.txt" запишет в файл "dir.txt" список файлов домашней директории текущего пользователя(создаст его в текущей директории или перезапишет уже имеющийся файл с таким названнием)
>> Дописывает stdout команды в конец уже существующего файла Команда "cat file.txt >> dir.txt" приведет к тому, что после старого содержимого в файле "dir.txt" окажется содержимое файла "file.txt"
2> Перенаправляет stderr команды в файл; А сочетание ">&" направляет в файл и stdout и stderr Команда "infoseq -help 2> infoseq.help" приведет к тому, что содержимое мануала команды "infoseq" окажется "infoseq.help". (infoseq выдаёт свой help на stderr)
| Направляет stdout одной команды на вход stdin другой команды Команда "ls -l | more" позволяет просмотреть программой "more" информацию о файлах в текущей директории.

Спецсимволы

Символ Описание Пример использования
Пробел и символ табуляции Отделяют параметры друг от друга Думаю здесь можно обойтись обойтись без примеров
" " Двойые кавычки используются для передачи программам параметров, содержащих спецсимволы. Но в двойных кавычках символы $ и ` (обратные кавычки) сохраняют специальное значение New Document.docx без двойных распозновалось бы как разные файлы "New" и "Document.docx". Во избежание подобного названия файлов, содержащие пробелы, необходимо веделять двойными кавычками
>, < и | Предназначены для работы со стандартными потоками см. выше
~ Домашняя директория текущего пользователя Команда "cd ~" позволяет перейти в домашнюю директорию текущего ползователя
/ Корневая директоия. Не имеет родительских директорий Командой "cd /" можно перейти в корневую директорию
Маски поиска
* Некоторое множество символов, а также пустое множество Например, "bac*" переберет все файлы, начинающиеся на bac
? Один любой символ "n?" переберет файлы, состоящие из двух символов и начинающиеся на "n". Например: "n1", "ni", "nt", "n+" и т.д.
[ ] Один из символ среди множества указанных "[a-z]" - одна любая буква от "a" до "z"