Bash
Bash - разновидность командной оболочки Unix.Потоки ввода-вывода в системах Unix
Каждая программа в консоли Unix работает одновременно с 3 потоками: stdin, stdout и stderr.
- Поток номер 0 (stdin) - стандартный ввод (standart input), служит для чтения команд пользователя или входных данных.
- Поток номер 1 (stdout) - стандартный вывод (standart output), служит для вывода данных.
- Поток номер 2 (stderr) - стандартный вывод ошибок (standart error), предназначен для вывода диагностических и отладочных сообщений в текстовом виде.
- Перенаправление потоков вывода в файл
- Для направления stdout в файл используется символ ">" ("<") для перезаписи файла, а ">>" ("<<") - для добавления в файл. При этом конструкция имеет вид:
<команда> > <файл>или же<файл> < <команда>
Например,ls -1 > dir.txtсоздаст файл dir.txt в текущей директории со списком уже имеющихся элементов в этой же директории. - Для направления stderr аналогичным образом используется "2>" или "2>>".
- Чтобы одновременно перенаправить сразу оба потока используется ">&".
- Для направления stdout в файл используется символ ">" ("<") для перезаписи файла, а ">>" ("<<") - для добавления в файл. При этом конструкция имеет вид:
- Перенаправление потоков вывода одной комманды в stdin другой
- Для направления stdout применяется конвейер (pipe), задаваемый символом "|" в виде:
<команда 1> | <команда 2>(т.е. stdout команды 1 используется как stdin команды 2)
Например,ls | wc -wподсчитает количество элементов в текущей директории. - Для направления stderr используется конструкция "2>&1|", которая применяется аналогичным образом.
- Для направления stdout применяется конвейер (pipe), задаваемый символом "|" в виде:
- Пробел отделяет параметры команды друг от друга
- Tab используется для автозаполнения
- В одинарных кавычках (') все символы воспринимаются буквально
- Обратный слэш (\) в сочетании с любым символом преобразуется в введённый символ
- >, <, | используются для работы со стандартными потоками
- Точка с запятой (;) используется для разделения комманд, введённых в одной строке
- Звёздочка * заменется на любое количество любых символов
- Вопросительный знак (?) заменяется на 1 любой символ
- Квадратные скобки [ ] заменяются на любой из символов, помещённых внутри них.
Потоки вывода в консольном окне отображаются одновременно, и различить их при обычной работе программы невозможно.
Перенаправление потоков
Для перенаправления потоков вывода используются символы "|", ">" и "<".
Спецсимволы bash
EMBOSS
EMBOSS - European Molecular Biology Open Software Suite - открытый европейский пакет программного обеспечения по молекулярной биологии.
В состав EMBOSS входит программа infoseq. Она отображает основную информацию о последовательностях мономеров биополимеров. В таблице 1 приведено большинство её параметров и опций.
| Таблица 1. Описание программы infoseq | |
| Параметр или опция | Описание |
| Стандартные (обязательные) параметры | |
| [-sequence] | Имя последовательности (её идентификатор) или USA |
| Дополнительные (опциональные) параметры | |
| -outfile | Если после опции указать имя файла, то поток вывода запишется именно в него |
| -html | Преобразует поток вывода в код таблицы HTML |
| Расширенные параметры | |
| -only | При задании этой опции программа выведет только указынные пользователем параметры |
| -[no]heading | При указании [no] перед заголовком параметра, программа пропустит его |
| -usa | Выводит USA (Uniform Sequence Address) последовательности |
| -database | Отобразит базу данных, в которой задана последовательность |
| -name | Выводит ID (имя) последовательности |
| -accession | Выводит AC (код доступа) последовательности |
| -seqversion | Выводит номер версии последовательности |
| -type | Выводит тип последовательности (P-белковая/N-нуклеотидная) |
| -length | Выводит длину последовательности |
| -pgc | Выводит процентное соотношение GC-нуклеотидов |
| -description | Выводит описание последовательности |
Например, при запросе infoseq sw:yojm_bacsu -notype -seqversion -pgc, программа выводит:
USA Database Name Accession Version Length Organism Description sw-id:YOJM_BACSU sw YOJM_BACSU O31851 - 196 Bacillus subtilis (strain 168) Superoxide dismutase-like protein YojM (Precursor)
