Bash - одна из версий командного интерпретатора операционных систем UNIX, основная задача которого - обработка и исполнение команд, заданных пользователем. Bash работает в интерактивном текстовом режиме, а также может читать команды (скрипты) из файла.
У каждой команды существует три системных потока:
Пример:
$ cat cthulhu.txt hotspot.txt
fhtagn!
cat: hotspot.txt: No such file or directory
По умолчанию потоки вводятся с терминала и выводятся на терминал, но с помощью специальных операторов можно перенаправлять потоки в файл или в поток ввода другой команды. В таблице ниже преведены основные из этих операторов.
Оператор | Пример | Описание действия |
> file | ls -1 > students.txt | Поток вывода команды ls (список поддиректорий и файлов текущей директории) направляется в файл students.txt и записывается поверх его содержимого. Если такого файла не существует, он создаётся. |
>> file | wc -w students.txt >> students.txt | Поток вывода команды wc (количество слов в файле students.txt) направляется в файл students.txt и дописывается в конец файла. Если такого файла не существует, он создаётся. |
2> file | rm student.txt 2> errors.txt | Поток ошибок команды rm (например, сообщение о том, что файл student.txt не существует) направляется в файл errors.txt и записывается поверх его содержимого. Если такого файла не существует, он создаётся. |
2>> file | man abc 2>> errors.txt | Поток ошибок команды man (сообщение, что мануал для "команды" abc не найден) направляется в файл errors.txt и дописывается в конец файла. Если такого файла не существует, он создаётся. |
&> file | cat 1.txt 2.txt 3.txt &> union.txt | И stdout, и stderr направляются в файл union.txt. |
command1 | command2 | find . | grep pr* | Поток вывода команды find (список поддиректорий и вложенных в них файлов) направляется в поток ввода команды grep. |
В следующей таблице приведены некоторые спецсимволы, используемые в bash.
Символ | Значение символа |
' | Все символы воспринимаются буквально |
\ | Следующий символ воспринимается буквально |
./ | Текущая директория |
../ | Родительская директория |
/ | Корневая директория |
~/ | Домашняя директория |
* | Любые символы |
? | Один любой символ |
[ ] | Любой из символов, находящихся внутри скобок |
EMBOSS (The European Molecular Biology Open Software Suite) - свободно распрострааняемый пакет программ для молекулярных биологов.
В него входит программа infoseq. Она выдаёт основную информацию о последовательностях биополимеров. В таблице ниже представлены основные опции программы.
Флаг | Что делает опция |
-outfile | Перенаправление stdout в файл |
-help | Вывод подсказки по программе |
-html | Представление информации в виде html кода таблицы |
-only | Выведение только указанных далее типов данных о последовательности |
-[no]columns | Вывод данных в виде колонок или нет |
-usa | Вывод краткого названия последовательности (Uniform Sequence Address) |
-database | Вывод базы данных, откуда взята информация |
-name | Вывод названия последовательности |
-accession (-AC) | Вывод кода доступа |
-type | Вывод типа последовательности (белковая или нуклеотидная) |
-length | Вывод длины последовательности |
-organism | Вывод названия организма, в котором синтезируются такие соединения |
-pgs | Вывод процентного соотношения GC пар |
-description | Вывод описания последовательности |
Ниже приведены запросы с использованием различных опций и ответы bash.
infoseq sw:rutc_ecoli -html
USA | Database | Name | Accession | Type | Length | Organism | Description |
---|---|---|---|---|---|---|---|
sw-id:RUTC_ECOLI | sw | RUTC_ECOLI | P0AFQ5 | P | 128 | Escherichia coli (strain K12) | Putative aminoacrylate peracid reductase RutC (1.-.-.-) |
infoseq sw:yjbe_ecoli -nocolumns
USA|Database|Name|Accession|Type|Length|Organism|Description
sw-id:YJBE_ECOLI|sw|YJBE_ECOLI|P0AF45|P|80|Escherichia coli (strain K12)|Uncharacterized protein YjbE (Precursor)
infoseq sw:tdcr_ecoli -only -length
Length
72
infoseq sw:acrr_ecoli -only -length -organism -type -html
Type | Length | Organism |
---|---|---|
P | 215 | Escherichia coli (strain K12) |