Семестры Домой Проекты Обо мне

Работа с интерпритатором команд - bash

Bash – разновидность командой оболочки UNIX, наиболее используемая в операционных системах типа Linux.

Данный раздел посвящен общим теоретическим моментам: потокам и перенаправлениям потоков в Bash.

Следует отметить, что на этой странице не рассматриваются стандартные команды, необходимые для работы с Bash, их можно изучить с помощью любого источника – литературы по UNIX.


I. Потоки

В системах типа UNIX и других существуют стандартные потоки ввода-вывода. Это потоки процесса, имеющие способность выполнять «стандартные» функции. Иначе говоря, стандартные потокиэто воображаемые файлы, с помощью которых происходит запись в файлы и чтение последних, т.е. осуществление взаимодействия с пользователем.

Стандартный поток ввода – stdin – служит для выполнения чтения текста, вводимого пользователя (в типичном случае – чтение с клавиатуры). Т.е. поток включает все вводимые человеком команды.

Данные других потоков можно перенаправлять в stdin, используя символ “<”.

Файл, из которого осуществляется чтение, называется стандратным потоком ввода.

Стандартный поток вывода – stdout – служит для вывода данных на устройство отображения (в типичном случае – на монитор). Т.е. поток включает результаты выполнения команд, заданных пользователем. Не содержит информации об ошибках (т.е. не выполняет ее вывод).

Данные других потоков можно перенаправлять в stdout, используя символы “>”, “>>”.

Файл, в который осуществляется запись, называется стандартным потоков вывода.

Способы перенаправления потоков

ПрописьДействие
< файл Использовать "файл" как источник данных для стандартного потока ввода.
> файл Направить стандартный поток вывода в "файл". Если файл не существует, он будет создан; если существует — перезаписан сверху.
>> файл Направить стандартный поток вывода в "файл". Если файл не существует, он будет создан; если существует — данные будут дописаны к нему в конец.
2> файл Направить стандартный поток ошибок в "файл". Если файл не существует, он будет создан; если существует — перезаписан сверху.
2>> файл Направить стандартный поток ошибок в "файл". Если файл не существует, он будет создан; если существует — данные будут дописаны к нему в конец.
>& файл Направить стандартный поток вывода и стандартный поток ошибок в "файл".
| программа1 Направить стандартный поток вывода в программу "программа1".
Контакты
Ленинские горы МГУ 1, стр. 73
8-916-939-49-78
jiabicht@rambler.ru
vk.com/allweiss
FBBФакультет Биоинженерии и Биоинформатики