Учебная страница курса биоинформатики,
год поступления 2020
Подсказки к практикуму 3
minimum minimorum по wiki странице
Как зайти на удалённую машину по протоколу ssh
Если у вас Linux, Mac или Windows 10, обновлённая не ранее года назад, то вызываете командную строку (в Windows это cmd) и набираете там:
ssh login@адрес
например: ssh ivanov@kodomo.fbb.msu.ru, после чего вводите пароль.
Если у вас старый Windows, то установите программу Putty и постарайтесь разобраться, как ей пользоваться.
Всюду ниже выражение вида <имя> означает, что вместо него нужно подставить нужное имя файла или директории (без угловых скобок)
Как перейти в нужную директорию?
Если директория задана полным именем (начинающимся с косой черты), то cd <полное имя>
Если директория — поддиректория текущей, то cd <имя>
Переход в вышестоящую директорию: cd .. (две точки подряд, между cd и точками — пробел)
Переход в домашнюю директорию пользователя: cd без аргументов.
Что выдаёт команда wc?
После команды wc (от "word count") нужно указать имя файла или несколько имён через пробел. Если вместо имени ввести звёздочку (*), то это будет равносильно списку всех файлов в текущей директории. Для каждого файла будут выданы: число строк в нём, число слов в нём и число символов в нём. В конце (если файлов больше одного) будет выдано то же для всех указанных файлов вместе.
Если вы случайно выполнили wc без аргументов и программа ждёт от вас непонятно чего, нажмите Ctrl+C.
Как создать директорию?
Командой mkdir <имя>
Если вы случайно назвали файл или директорию неправильно
Стереть пустую директорию: rmdir <имя>. Сработает только если директория пуста!
Стереть файл можно командой rm <имя>, а стереть все файлы в текущей директории — командой rm * (осторожно! восстановить файлы после этого не получится!)
Переименовать файл: mv <старое имя> <новое имя>
Переместить файл в директорию: mv <имя файла> <имя директории>
Копирование файла
cp <имя файла> <имя копии>
Если нужно создать копию файла в другой директории, то cp <имя файла> <имя директории>
Какие бывают имена директорий (они же папки, они же фолдеры)?
Имена директорий (для cd и любых других команд) можно задавать полностью (начиная с / — корня или с ~ — домашней директории) или же относительно текущей. Например:
abc — поддиректория abc текущей директории
../abc — "параллельная" директория abc, то есть директория с именем abc, находящаяся в вышестоящей директории
../.. — директория на два уровня выше текущей
~/abc/def — директория def, которая находится в abc, а та — в вашей домашней
/P/abc/def — директория def, которая находится в abc, которая находится в P, а P — в корне дерева директорий
Для любопытных
Строго говоря, типов задания пути (или полного имени, что то же самое) до папки или файла всего два: абсолютный путь (всегда начинается с / – корневой папки) и относительный (никогда не начинается /, задается относительно текущей папки). Вариант указания пути относильно домашней папки (начиная с ~) – это "синтаксический сахар" bash, большинство других программ такого пути не понимают. Работает это так, если bash видит символ '~' в начале аргумента (то есть части команды, отделенной пробельными и/или некоторыми другими специальными символами), то он заменяет его на абсолютный путь до домашней папки пользователя, и только потом исполняет команду. Поэтому программа, которую bash в итоге запускает, получает этот путь уже в виде абсолютного имени.
На самом деле ~/ – это частный вариант конструкции ~<логин>/, которая заменяется на абсолютный путь до домашней папки соответствующего пользователя (пропущенное имя обозначает текущего пользователя). На странице с заданиями есть пример, когда таким образом указан путь до файла в моей (is_rusinov) домашней папке.
Пути, начинающиеся с ../ (и ещё с ./) – это честные относительные пути, потому что внутри каждой папки в линукс (и не только) всегда есть два специальных файла с именами .. и ., которые являются ссылками на родительскую директорию и текущую директорию, соответственно. Без этих ссылок было бы невозможно указывать относительные имена файлов, которые лежат где-то снаружи от текущей папки. Но многие программы, которые умеют показывать содержимое папок (например, ls), по-умолчанию не отображают эти специальные файлы-ссылки, как и все другие файлы и папки, имена которых начинаются на точку. Однако обычно эти программы все-таки можно заставить показывать все файлы и папки, включая скрытые (в частности у ls для этого есть специальная опция).
— ИР
Как создать текстовый файл и записать туда что-нибудь?
Для этого есть специальные программы — текстовые редакторы. На kodomo доступны по крайней мере три: mcedit, nano и vim. Пока что давайте воспользуемся nano и выполним следующие действия.
Выполните команду nano <имя нового файла> (например, nano myfirstfile.txt)
- Наберите с клавиатуры желаемое содержимое файла
- Нажмите Ctrl+X
- Внимательно прочитайте, что предлагается сделать, выберите нужную букву и нажмите соответствующую клавишу
- Снова прочитайте, что спрашивает программа, и если согласны, нажмите Enter
- С помощью less убедитесь, что в файле именно то, что вы хотели
Отредактировать файл можно, опять выполнив те же действия. Внутри редактора можно перемещаться по тексту с помощью стрелок на клавиатуре.
Как узнать опции программы?
Обычно краткая справка по программе выдаётся после выполнения команды <программа> --help (например, ls --help)
Подробная справка выдаётся программой man, например man ls. Внутри man действуют те же клавиши, что внутри less (см. в тексте задания), в частности из неё можно выйти, нажав q.
Что делать в непонятной ситуации?
В Linux почти любая программа прерывается нажатием Ctrl+C. Поэтому если машина чего-то от вас ждёт и не показывает приглашение командной строки, попробуйте нажать это сочетание клавиш.