Работа в классе
Выполнение этих упражнений не проверяется и не оценивается, они призваны помочь в освоении материала.
Подключение по SSH
Ваша задача – подключиться к серверу kodomo.fbb.msu.ru с помощью консольного клиента ssh, используя свою учетную запись. Вы уже подключались к kodomo аналогичным образом, если выполняли домашние задания.
Освоение терминала
Вам нужно освоить работу с историей команд (стрелочки вверх и вниз), автодополнение (<Tab> и <Tab> <Tab>), прерывание текущей операции (Ctrl+C), завершение ввода (Ctrl+D), копирование и вставку текста в терминал из буфера обмена (Ctrl+Shift+C и Ctrl+Shift+V), научиться понимать приглашение командной строки – определять на каком компьютере и в какой папке вы находитесь, происходит в данный момент ввод команды, или работает какая-то программа и т.д.
Перемещение по дереву директорий
По приглашению командной строки убедитесь, что находитесь на kodomo.
На kodomo хоть и имеются папки с теми же именами, как на компьютерах классов 207/208, но в них другое содержимое. Дерево основных системных папок Linux описано в стандарте, поэтому будет по большей части совпадать на всех компьютерах под управлением этой ОС. Аналогично, на большей части компьютеров с Windows есть диск C:\, на котором расположена ОС.
Исключение составляют папки /home, /P и /Z, они экспортируется на компьютеры классов с kodomo для удобства. Поэтому на компьютерах классов это точно те же папки, что и на kodomo. Об этом сообщалось в правилах, которые вы подписывали на первом занятии, помните?
Все этапы нужно выполнять последовательно.
Определите абсолютный путь к текущей папке с помощью pwd. Проверяйте так текущую папку после каждого перемещения, пока не начнете чувствовать себя уверенно.
Переместитесь в корневую папку, потом в подпапку usr, потом в local, потом в lib. Какое имя текущей папки? Сколько в ней вложенных подпапок?
Переместитесь в папку /lib. По содержимому папки убедитесь, что это не та папка, которая была текущей на предыдущем этапе. Короткие имена папок и файлов могут совпадать, если они не лежат в одной папке! А имя (полное, т.е. путь) всегда однозначно идентифицирует файл/папку.
Переместитесь в папку, которая была текущей перед пунктом 3 с помощью одной команды, используя её абсолютный путь.
- Перейдите в свою домашнюю папку.
Попробуйте перейти в несуществующую папку term1/gene с помощью одной команды. Посмотрите внимательно, какое сообщение появилось в командной строке. Аналогичное сообщение об ошибке всегда будет означать, что вы пытаетесь перейти в несуществующую папку.
Перейдите в папку term1/genome с помощью одной команды, используя абсолютный путь. Было бы проще использовать относительный путь, но это упражнение. Если у вас все еще нет этой папки, то создайте её.
Перейдите в папку /usr/local/lib с помощью одной команды по относительному пути. Этот путь, очевидно, будет начинаться с некоторого количества повторений ../ . Используйте автодополнение на <Tab> <Tab>, чтобы ориентироваться прямо в процессе набора команды.
Перейдите в папку /usr/lib с помощью одной команды по относительному пути. Аналогично предыдущему, но значительно проще, можно справиться даже без автодополнения.
Если успели проделать все шаги и ждете остальных, то можете открыть другой терминал и повторить перемещения на локальном компьютере класса, т.е. без входа на kodomo. И попробуйте сравнивать содержимое папок, которые посещаете, между локальным компьютером и kodomo. Есть отличия?
Работа с файлами
- Перейдите в домашнюю папку.
Скопируйте файл /etc/os-release в домашнюю папку. Убедитесь, что файл точно скопирован в нужное место. Убедитесь, что файл os-release остался в папке /etc. Это текстовый файл, можете посмотреть его с помощью пейджера (т.е. программы постраничного просмотра) less.
Создайте папку temp и переместите файл os-release в нее, оставаясь в домашней папке.
Переименуйте файл os-release, назовите его своим пользовательским именем. Это нужно сделать одной командой, не переходя в папку temp.
Перейдите в папку temp и убедитесь, что все прошло успешно. Вернитесь в домашнюю папку.
Посмотрите размер уже переименованного файла os-release.
Прочитайте справку к команде wc. Примените команду wc к переименованному файлу os-release без дополнительных параметров. Что получилось?
С помощью команды wc с подходящей опцией выведите количество строк в переименованном файле os-release. Убедитесь, что ответ правильный.
С помощью команды wc с подходящей опцией выведите количество слов в переименованном файле os-release. Убедитесь, что ответ правильный. Что считается за слова?
Удалите папку temp вместе с файлом (сначала файл, потом пустую папку).
Перейдите в папку term1/genome. Не выходя из этой папки создайте новую папку temp в домашней директории.
Опять скопируйте файл /etc/os-release в папку ../../temp, сразу изменив его короткое имя на tmp.txt, не изменяя текущую папку. Этот пункт нужно выполнить с помощью одной команды cp, задав ей правильные пути в качестве аргументов.
Все еще находясь в папке genome, убедитесь, что копирование прошло успешно с помощью ls, откройте скопированный файл с помощью less.
Переместите и переименуйте папку temp, чтобы она лежала внутри папки term1 и имела короткое имя pr3.
Изучите справку к программам head и tail. Примените эти программы к файлу tmp.txt с параметром (опцией) n равным 3.
Удалите файл tmp.txt.
Повторите все этапы, которые вызвали затруднения.