Учебная страница курса биоинформатики,
год поступления 2022
Подсказки по выполнению заданий практикума 3
Упражнения
Вам надо освоить команды cp, mv, rm, mkdir, rmdir, ls, pwd, less, man. Начать можно с чтения справки по каждой программе. Для этого используйте команду man, которая открывает файл со справкой о указанной в первом аргументе команде в программе less. Например, man cp, man less, man man.
Справочные страницы man, как правило, содержат краткое описание всех существующих опций, многие из которых вам будут непонятны, и, скорее всего, никогда не понадобятся. Поэтому не пытайтесь сразу понять все, что написано. Кроме того, справка написана специфическим языком, изобилует всякими терминами. Если не получается разобраться самостоятельно – призывайте на помощь интернет, более успешных (в освоении страниц man) однокурсников, или преподавателей.
Есть проект tldr, который ставит своей целью создание системы простых и понятных (пусть и неполных и не всегда точных) справочных страниц. Может быть, имеет смысл сначала прочитать описание в системе tldr, а потом уже пытаться разобраться более подробно по странице man.
Узнать размер файла или отличить папки от файлов вам поможет ls, осталось только найти нужные опции.
Будьте предельно осторожны и внимательны при вводе команд! Нет совсем никакой возможности отменить результат выполненой команды. Более того, команды практически никогда не будут вас предупреждать или переспрашивать. Правда у некоторых команд есть специальные опции для такого поведения, например, rm -i будет вас переспрашивать перед удалением каждого файла. С командой rm будьте особенно аккуратны! На моей памяти было несколько случаев, когда студенты под конец семестра случайно удаляли все содержимое своей домашней папки, и им приходилось все переделывать заново.
Задание 0
Чтобы создать новую страницу вики, введите в браузер адрес несуществующей страницы. В появившемся диалоге выберите "создать новую страницу". Что делать дальше вы уже знаете. Не забудьте предварительно залогиниться в систему wiki!
Для добавления ссылки на новую страницу со своей домашней страницы в коде домашней страницы напишите [[/pr3|текст ссылки]]. В общем случае это выглядит так [[ адрес страницы | текст ссылки ]]. С адресом есть путаница, его можно задавать относительно текущей страницы (это та, в коде которой указана ссылка), или относительно "корневой" страницы wiki на kodomo (https://kodomo.fbb.msu.ru/wiki/). Вот только, в отличие от путей в Linux, относительный путь должен начинаться с /, а абсолютный, наоборот, с него начинаться не может. Есть еще третий вариант – вставка полного URL, т.е. вместе с указание протокола (https или http) и адреса сервера.
В системе wiki на kodomo используется движок MoinMoin. Подробнее о всех возможностях и синтаксисе можно почитать на сайте проекта или по ссылкам под окошком редактирования.
Задание 1
Программа man принимает первым аргументом название команды и выдает про нее справку. Выйти из просмотра справки можно на q. Перемещаться можно с помощью стрелок, пробела, Enter, Page Up, Page Down и т.д. На самом деле man открывает справку в просмотрщике less, поэтому работают все его фичи (поиск и перемещение, нумерация строк и т.д.).
Задание 2
Предполагается, что вы будете активно использовать перемещение по истории команд с помощью стрелочек вверх и вниз, и автодополнение команд с помощью клавиши Tab. При однократном нажатии Tab bash дополнит название команды или имя файла, если существует ровно одна команда или файл, который начинаются на те символы, которые введены перед нажатием Tab. Если таких команд или файлов несколько, то автодополнения не произойдет, зато после двойного нажатия Tab bash выведет список всех возможных вариантов. После набора дополнительных символов можно опять нажимать Tab. Это гораздо проще понять в процессе использования, чем по описанию, пробуйте.
При выборе команды для описания может помочь справка в системе tldr. Но чтения man она не заменяет!
Чтобы начать новый абзац текста на странице, в wiki-разметке нужно втавить пустую строку. Один перенос строки wiki игнорирует, как и любое количество последовательных пробелов между словами.
А чтобы оформить команды bash, можете использовать отдельные рамочки
{{{ cp arg1 arg2 }}}
cp arg1 arg2
Или хотя бы моноширинный текст:
`cp arg1 arg2`
cp arg1 arg2
Есть еще подсветка синтаксиса, но конкретно для bash она работает так себе, команды никак не выделяются на фоне аргументов. Если все-таки хочется попробовать, читайте подсказки по синтаксису MoinMoin. Вам нужно описание парсера highlight.
Задание 3
Это дополнительное задание я давал в расчете на то, что успею немножко рассказать про сетевые протоколы на занятии. Но не успел. Можете разобраться самостоятельно, или подождать следующего занятия. Перенесу это задание в следующий практикум.
Советую выбирать так называемые протоколы прикладного уровня, например, HTTP, SSH, SMTP, IMAP, POP3, FTP, NTP, DNS, DHCP и т.д. Список протоколов есть в википедии.