Учебная страница курса биоинформатики,
год поступления 2017
Выучить и освоить к следующему занятию
Чтобы освоить команду, надо выполнить её столько раз, сколько понадобится, чтобы вы могли предсказать, что получится в результате выполнения.
На следующем занятии будет небольшая контрольная по командам bash. Если возникают вопросы, с которыми не получается разобраться самостоятельно - пишите письма!
- Вход на kodomo через PuTTy
- Команды:
man
ls (в том числе разбор строки выхода ls -l)
pwd, cd, mkdir, rmdir
echo, cp, mv, less, cat, rm, wc
grep, grep -c, grep -v
history, exit
- Специальные обозначения директорий:
/, .., ., ~
- Что такое абсолютный и относительный пути к файлу или директории
- Операторы перенаправления потоков:
>, 2>, >>, 2>>, &>, |
- Спецсимволы в масках имен файлов:
*, ?, [0-9]; экранирование спецсимвола (например, \* или '*')
- Удобности:
<Tab> и <Tab> <Tab>
- стрелки вверх и вниз
- копирование с экрана и вставка
Небольшой учебник по bash здесь.
Задания
Результатом выполнения практикума является файл kodomo.fbb.msu.ru:~/term2/linux/<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
Дальше надо будет ввести логин и пароль Вашего аккаунта на kodomo.
Умение подключаться из Windows при помощи PuTTy обязательно
GNU/Linux, OS X, etc:
Есть версии PuTTy и для операционных систем семейства Unix. Кроме того, можно воспользоваться встроенным клиентом ssh:
ssh <username>@kodomo.fbb.msu.ru
2. Создайте директорию ~/term2/linux/pr4 и перейдите в нее
Сначала осмотритесь. Команда pwd покажет вам, в какой вы директории. Команда ls покажет список файлов и поддиректорий в этой директории.
Используйте команды mkdir и cd. Например, так.
mkdir term2 (в текущей директории создается поддиректория term2)
ls (чтобы проверить, что получилось)
cd term2 (перейти в term2; другими словами, сделать term2 текущей директорией; текущую директорию называют также рабочей)
pwd (проверить, что получилось)
mkdir linux и т.д.
Чтобы не тратить время на набор лишних символов, чаще используйте клавишу <Tab>.
3. Скопируйте файлы с расширением txt из директории /P/y17/term2/block2/some_f1les_192918763481 в директорию pr4
Для копирования файлов воспользуйтесь командой cp.
В простейшем виде синтаксис команды выглядит следующим образом: cp <файл> <имя копии файла>. Внимательно отнеситесь к описанию путей к файлам.
Но копировать файлы по одному достаточно непрактично. Оптимизируйте эту операцию при помощи файловых масок.
Проверьте, что получилось (команды ls и less).
Если случайно вы скопировали не только нужные файлы, то удалите лишние при помощи команды rm <имя файла>. Вместо имени файла можно написать маску имен файлов. Будьте аккуратны! Корзины и операций восстановления в файлов в GNU/Linux нет. Для перестраховки используйте вызов rm -i или rm -I. Прочитайте в мануале за что отвечают эти опции.
4. Определите уникальное содержимое файлов из предыдущего задания
В задании подразумевается, что вы должны написать команду, которая выведет все строки, хоть раз встретившиеся хоть в одном из этих файлов, притом каждую строку по одному разу.
Вывести содержимое файлов можно при помощи команды cat: cat <one_file> <or_more_files>.
Для фильтрации повторяющихся строк используйте команды uniq и/или sort. Внимательно прочтите документацию (man uniq, man sort) и попробуйте разные варианты. Для передачи выдачи одной программы на вход другой пользуйтесь конвейером ( он же "пайп (pipe)", знак |), например так:
cat filename.txt | sort
5. Создайте директорию term2/linux и в ней файл с отчетом <username>_was_here.txt
В файл отчета <username>_was_here.txt внесите следующие строки:
Первая строка: "Absolute path to credit directory"
Используйте команду echo <строка>. Когда освоитесь с ней – перенаправьте ее выход в файл оператором ">": echo <строка> > <имя файла>
Вторая строка: сам путь (в зачётную директорию блока).
Используйте pwd для получения пути, перенаправление ">>" для дописывания в конец файла.
Далее добавьте в этот файл команду, которую вы использовали для копирования файлов по маске.
Далее добавьте в этот файл команду, при помощи которой вы получили результат задания 4, и затем сам этот результат.
Проверьте содержимое файла командой less <имя файла> (выход из просмотра файла – клавиша "q"). Проверьте, появилось ли приглашение командной строки bash: "....$ " .
Для штатного выхода из linux выполните команду `exit`
Если команда exit не выполнена, а вы закрываете окно, то список выполненных за сеанс команд не запоминается. Значит, при следующем заходе команда history не вспомнит об этих командах.