Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2017

Выучить и освоить к следующему занятию

Чтобы освоить команду, надо выполнить её столько раз, сколько понадобится, чтобы вы могли предсказать, что получится в результате выполнения.

На следующем занятии будет небольшая контрольная по командам bash. Если возникают вопросы, с которыми не получается разобраться самостоятельно - пишите письма!

http://kodomo.cmm.msu.ru/~is_rusinov/mail.png

  1. Вход на kodomo через PuTTy
  2. Команды:
    • man

    • ls (в том числе разбор строки выхода ls -l)

    • pwd, cd, mkdir, rmdir

    • echo, cp, mv, less, cat, rm, wc

    • grep, grep -c, grep -v

    • history, exit

  3. Специальные обозначения директорий:
    • /, .., ., ~ 

  4. Что такое абсолютный и относительный пути к файлу или директории
  5. Операторы перенаправления потоков:
    • >, 2>, >>, 2>>, &>, |

  6. Спецсимволы в масках имен файлов:
    • *, ?, [0-9]; экранирование спецсимвола (например, \* или '*')

  7. Удобности:
    • <Tab> и <Tab> <Tab>

    • стрелки вверх и вниз
    • копирование с экрана и вставка

Небольшой учебник по bash здесь.

Задания

Результатом выполнения практикума является файл kodomo.fbb.msu.ru:~/term2/linux/<username>_was_here.txt (~ — ваша домашняя директория, не перепутайте!)

0. Тренировочные задания в классе

  1. Подключитесь к серверу kodomo.fbb.msu.ru
  2. Выполните базовые команды:
    • whoami, who, finger
    • pwd, ls (c опциями)
    • cd, mkdir, rm
    • touch, echo
    • cp
    • less
  3. Корректно завершите сессию:
    • 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. Например, так.

Чтобы не тратить время на набор лишних символов, чаще используйте клавишу <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 не вспомнит об этих командах.