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)