Учебная страница курса биоинформатики,
год поступления 2016
Выучить и освоить к следующему занятию:
Чтобы освоить команду, надо выполнить её столько раз, сколько понадобится, чтобы вы могли предсказать, что получится в результате выполнения.
Вход на kodomo через putty
- Команды:
pwd, ls (опции -l, -R, -1 и еще ≥2, разбор строки выхода ls -l), cd, mkdir, rmdir;
echo, cp, mv, more, less, cat, rm, wc; опции команды wc;
grep, grep -c, grep -v
man
history, exit
- Специальные обозначения директорий:
/, .., ., ~
- Что такое абсолютный и относительный пути к файлу или директории
- Операторы перенаправления потоков:
>, >>, |
- Спецсимволы в масках имен файлов:
*, ?, экранирование спецсимвола (например, \* или так '*'), [0-9]
- Удобности:
tab и tab tab
- стрелки вверх и вниз
- копирование с экрана и вставка
history
Небольшой учебник по bash здесь.
Задания
Результатом выполнения практикума является файл kodomo.fbb.msu.ru:~/term2/linux/credits/<username>_was_here.txt (~ — ваша домашняя директория, не перепутайте!)
0. Тренировочные задания в классе
- Подключитесь к серверу kodomo.fbb.msu.ru
- Выполните базовые команды:
- whoami, who, finger
- pwd, ls (c опциями)
- cd, mkdir, rm
- touch, echo
- cp
- less
- Корректно завершите сессию:
- exit
1. Подключитесь к серверу kodomo.fbb.msu.ru
Для подключения к серверу kodomo.fbb.msu.ru из:
* Windows:
Воспользуйтесь программой PuTTY.
Host Name: kodomo.fbb.msu.ru Port: 22 Connection type: SSH
(В прошлогодней лекции Артура имеются графические инструкции).
* GNU/Linux, OS X, etc
ssh <username>@kodomo.fbb.msu.ru
Умение подключаться из Windows при помощи Putty обязательно
2. Создайте директорию ~/term2/linux/pr6 и перейдите в нее
Сначала осмотритесь. Команда pwd (man pwd) покажет вам, в какой вы директории. Команда ls (man ls) покажет список файлов и поддиректорий в этой директории.
Используйте команды mkdir (man mkdir) и cd (cd). Например, так.
mkdir term2 (в текущей директории создается поддиректория term2)
ls (чтобы проверить, что получилось)
cd term2 (перейти в term2; другими словами, сделать term2 текущей директорией; текущую директорию называют также рабочей)
pwd (проверить, что получилось)
mkdir linux и т.д.
Чтобы не тратить время на набор лишних символов, чаще используйте клавишу Tab (табулятор).
3. Скопируйте файлы с расширением txt из директории /P/y15/term2/Block2/some_strange_files в директорию pr6
Для копирования файлов воспользуйтесь командой cp (man cp)
В простейшем виде синтаксис команды выглядит следующим образом: cp <файл> <имя копии файла>. Внимательно отнеситесь к описанию путей к файлам.
Но копировать файлы по одному достаточно непрактично. Оптимизируйте эту операцию при помощи файловых масок (регулярных выражений).
Проверьте, что получилось (команды ls и less).
Если случайно вы скопировали не только нужные файлы, то удалите лишние при помощи команды rm <имя файла>. Вместо имени файла можно написать маску имен файлов. Будьте аккуратны! Корзины и операций восстановления в файлов в GNU/Linux нет. Для перестраховки используйте вызов rm -i или rm -I. Прочитайте в мануале (man rm) за что отвечают эти опции.
4. Определите уникальное содержимое файлов из предыдущего задания
В задании подразумевается, что вы должны написать команду, которая выведет все строки, хоть раз встретившиеся хоть в одном из этих файлов, притом каждую строку по одному разу.
Вывести содержимое файлов можно при помощи команды cat <one_file> <or_more_files> (man cat).
Для фильтрации повторяющихся строк используйте команды uniq и/или sort. Внимательно прочтите документацию (man uniq, man sort) и попробуйте разные варианты. Для передачи выдачи одной программы на вход другой пользуйтесь конвейером ( он же "пайп", знак |), например так:
cat filename.txt | uniq
5. Создайте директорию term2/linux/credits и в ней файл с отчетом <username>_was_here.txt
В файл отчета <username>_was_here.txt внесите следующие строки:
Первая строка: "Absolute path to credit directory"
Используйте команду echo <строка>. Когда освоитесь с ней – перенаправьте ее выход в файл оператором ">": echo <строка> > <имя файла>
Вторая строка: сам путь (в зачётную директорию блока).
Используйте pwd для получения пути, перенаправление ">>" для дописывания в конец файла.
Далее добавьте в этот файл команду, которую вы использовали для копирования файлов по маске.
Далее добавьте в этот файл команду, при помощи которой вы получили результат задания 4, и затем сам этот результат.
Проверьте содержимое файла командой less <имя файла> (выход из просмотра файла – клавиша "q"). Проверьте, появилось ли приглашение командной строки bash: "....$ " .
Для штатного выхода из linux выполните команду `exit`
Если команда exit не выполнена, а вы закрываете окно, то список выполненных за сеанс команд не запоминается. Значит, при следующем заходе команда history не вспомнит об этих командах.