Kodomo

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

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

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

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

  1. Вход на kodomo через putty

  2. Команды:
    • 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

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

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

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

  7. Удобности:
    • tab и tab tab

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

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

Задания

Результатом выполнения практикума является файл kodomo.fbb.msu.ru:~/term2/linux/credits/<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

(В прошлогодней лекции Артура имеются графические инструкции).

* 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). Например, так.

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