Version 1/3
-
Next » -
Current version
Arthur Zalevsky, 09.02.2017 17:02
Домашнее задание¶
Вы должны уверенно освоить следующий список приемов и команд:
- Вход на удаленный сервер любым удобным для вас инструментом
- Команды:
pwd, ls
(особенноls -l
!),cd, mkdir, rmdir
echo, cp, mv, more, less, cat, rm, wc
grep
man
history
exit
- Пути:
- Специальные пути:
/, .., ., ~
- Что такое абсолютный и относительный пути к файлу или директории
- Специальные пути:
- Операторы перенаправления потоков:
>, >>, |
- Спецсимволы в масках имен файлов:
*, ?,
- экранирование спецсимволов (например, \* или так '*'), [0-9]
- Приемы эффективной работы:
tab
history
- стрелки вверх и вниз
=== 0. Тренировочные задания в классе ===
1. Подключитесь к любому из устройств с GNU/Linux
* Сервер kodomo.fbb.msu.ru
* Raspberry PI (user: fbbstudent, password: fbbstudent)
* Ноутбук Артура (user: fbbstudent, password: fbbstudent)
1. Выполните базовые команды:
* whoami, who, finger
* pwd, ls (c опциями)
* cd, mkdir, rm
* touch, echo
* cp
* less, vim
1. Корректно завершите сессию:
* exit
{{{#!wiki warning
Результатом выполнения практикума является файл kodomo.fbb.msu.ru:~/term2/linux/credits/<username>_was_here.txt (~ - ваша домашняя директория, не перепутайте!)
}}}
{{{#!wiki comment
''Подсказка от ААл.'' Лучший учебник для новичка - google! Например, набираете linux rm и получаете хорошие ссылки на русском языке. Конечно, Артур вас и меня побьёт за использование таких подсказок)))
''Комментарий от АЗ'' На слайде про источники помощи, гугл даже выше коллег! Но после man, конечно же.
}}}
=== 1. Подключитесь к серверу kodomo.fbb.msu.ru ===
Для подключения к серверу kodomo.fbb.msu.ru из:
- Windows:
Воспользуйтесь программой [[ https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe | PuTTY ]].
{{{
Host Name: kodomo.fbb.msu.ru
Port: 22
Connection type: SSH
}}}
Графические инструкции можно найти в лекции.
- GNU/Linux, OS X, etc
{{{
ssh <username>@kodomo.fbb.msu.ru
}}}
{{{#!wiki warning
Умение подключаться из Windows при помощи Putty обязательно
}}}
=== 2. Создайте директорию ~/term2/linux/pr7 и перейдите в нее ===
Сначала осмотритесь. Команда pwd [[ http://citforum.ru/operating_systems/manpages/PWD.1.shtml | (man pwd) ]] покажет вам в какой вы директории. Команда ls [[ http://citforum.ru/operating_systems/manpages/LS.1.shtml | (man ls) ]]покажет список файлов и поддиректорий в этой директории.
Используйте команды mkdir [[ http://citforum.ru/operating_systems/manpages/MKDIR.1.shtml | (man mkdir) ]] и cd [[ http://citforum.ru/operating_systems/manpages/CD.1.shtml | (cd) ]]. Например, так.
{{{#!wiki comment
- '''`mkdir term2`''' (в текущей директории создается поддиректория term2)
- '''`ls`''' (чтобы проверить что получилось)
- '''`cd term2`''' (перейти в term2; другими словами, сделать term2 текущей директорией; текущую директорию называют также рабочей)
- '''`pwd`''' (проверить, что получилось)
- '''`mkdir linux`''' и т.д.
}}}
Чтобы не тратить время на набор лишних символов чаще используйте клавишу Tab (табулятор).
=== 3. Скопируйте файлы с расширением txt из директории /P/y15/term2/Block2/some_strange_files в директорию pr7 ===
Для копирования файлов воспользуйтесь командой cp [[http://citforum.ru/operating_systems/manpages/CP.1.shtml | (man cp)]]
В простейшем виде синтаксис команды выглядит следующим образом: '''`cp <файл> <имя копии файла>`'''. Внимательно отнеситесь к описанию путей к файлам.
Но копировать файлы по одному достаточно непрактично. Оптимизируйте эту операцию при помощи файловых масок (регулярных выражений).
Проверьте, что получилось (команды ls и less).
Если, случайно, вы скопировали не только нужные файлы, то удалите лишние при помощи команды '''`rm <имя файла>`'''. Вместо имени файла можно написать маску имен файлов. '''Будьте аккуратны!''' Корзины и операций восстановления в файлов в GNU/Linux нет. Для перестраховки используйте вызов '''`rm -i`''' или '''`rm -I`'''. Прочитайте в мануале [[ http://citforum.ru/operating_systems/manpages/RM.1.shtml | (man rm)]] за что отвечают эти опции.
=== 4. Определите уникальное содержимое файлов из предыдущего задания ===
Вывести содержимое файлов можно при помощи команды '''`cat <one_file> <or_more_files>`'''. [[ http://citforum.ru/operating_systems/manpages/CAT.1.shtml | (man cat) ]]
Отфильтровать уникальное содержимое можно при помощи команды '''`uniq`''', только внимательно прочтите документацию [[ http://citforum.ru/operating_systems/manpages/UNIQ.1.shtml | (man uniq)]] к программе перед ее использованием.
Для передачи выдачи одной программы на вход другой воспользуйтесь конвейером ( он же "пайп", знак `|`), например так: '''`cat smth | uniq`'''.
=== 5. Создайте директорию term2/linux/credits и в ней файл с отчетом <username>_was_here.txt ===
В файл отчета <username>_was_here.txt внесите следующие строки:
'''Первая строка:''' "absolute path to credits dir"
Используйте команду echo <строка>. Когда освоитесь с ней -- перенаправьте ее выход в файл оператором ">": echo <строка> > <имя файла>
'''Вторая строка:''' сам путь.
Используйте оператор ">>" для дописывания в конец файла
Далее добавьте в этот файл команду, которую вы использовали для копирования файлов по маске.
Далее добавьте в этот файл результат выполнения задания 4 и команду, при помощи которой вы его получили.
Проверьте содержимое файла командой less <имя файла>. Выход "q". Проверьте, появилось ли приглашение командной строки bash: "....$ " .
=== Для штатного выходы из linux выполните команду `exit` ===
{{{#!wiki warning
Если команда `exit` не выполнена, а вы закрываете окно, то список выполненных за сеанс команд не запоминается. Значит, при следующем заходе команда history не вспомнит об этих командах.
}}}
--------