Blastim2017

Version 1 (Arthur Zalevsky, 20.03.2017 09:14)

1 1 Arthur Zalevsky
h2. Задание
2 1 Arthur Zalevsky
3 1 Arthur Zalevsky
Вы должны уверенно освоить следующий список приемов и команд:
4 1 Arthur Zalevsky
5 1 Arthur Zalevsky
# Вход на удаленный сервер любым удобным для вас инструментом 
6 1 Arthur Zalevsky
# Команды: 
7 1 Arthur Zalevsky
8 1 Arthur Zalevsky
 * <code>pwd, ls</code> (особенно <code>ls -l</code>!), <code>cd, mkdir, rmdir</code>
9 1 Arthur Zalevsky
 * <code>echo, cp, mv, more, less, cat, rm, wc</code>
10 1 Arthur Zalevsky
 * <code>grep</code>
11 1 Arthur Zalevsky
 * <code>man</code>
12 1 Arthur Zalevsky
 * <code>history</code>
13 1 Arthur Zalevsky
 * <code>exit</code>
14 1 Arthur Zalevsky
# Пути:
15 1 Arthur Zalevsky
16 1 Arthur Zalevsky
  * Специальные пути: <code>/, .., ., ~ </code>
17 1 Arthur Zalevsky
  *  Что такое абсолютный и относительный пути к файлу или директории
18 1 Arthur Zalevsky
# Операторы перенаправления потоков:
19 1 Arthur Zalevsky
20 1 Arthur Zalevsky
 * <code>>, >>, |</code>
21 1 Arthur Zalevsky
# Спецсимволы в масках имен файлов: 
22 1 Arthur Zalevsky
23 1 Arthur Zalevsky
 * <code>*, ?,</code> 
24 1 Arthur Zalevsky
 * экранирование спецсимволов (например, \* или так '*'), [0-9]
25 1 Arthur Zalevsky
26 1 Arthur Zalevsky
# Приемы эффективной работы:
27 1 Arthur Zalevsky
28 1 Arthur Zalevsky
 * <code>tab</code> 
29 1 Arthur Zalevsky
 * <code>history</code> 
30 1 Arthur Zalevsky
 * стрелки вверх и вниз   
31 1 Arthur Zalevsky
32 1 Arthur Zalevsky
h3. Задания
33 1 Arthur Zalevsky
34 1 Arthur Zalevsky
h4. Тренировочные задания в классе 
35 1 Arthur Zalevsky
36 1 Arthur Zalevsky
1. Подключитесь к любому из устройств с GNU/Linux
37 1 Arthur Zalevsky
38 1 Arthur Zalevsky
 * Сервер xwing.cmm.msu.ru
39 1 Arthur Zalevsky
 * Raspberry PI (user: adbmstudent, password: adbmstudent)
40 1 Arthur Zalevsky
 * Ноутбук Артура (user: adbmstudent, password: adbmstudent)
41 1 Arthur Zalevsky
42 1 Arthur Zalevsky
2. Выполните базовые команды:
43 1 Arthur Zalevsky
44 1 Arthur Zalevsky
 * <code>whoami, who, finger</code>
45 1 Arthur Zalevsky
 * <code>pwd, ls</code> (c опциями)
46 1 Arthur Zalevsky
 * <code>cd, mkdir, rm</code>
47 1 Arthur Zalevsky
 * <code>touch, echo</code>
48 1 Arthur Zalevsky
 * <code>cp</code>
49 1 Arthur Zalevsky
 * l<code>ess, vim</code>
50 1 Arthur Zalevsky
51 1 Arthur Zalevsky
3. Корректно завершите сессию:
52 1 Arthur Zalevsky
53 1 Arthur Zalevsky
 * <code>exit</code>
54 1 Arthur Zalevsky
55 1 Arthur Zalevsky
*NB:* Результатом выполнения практикума является файл xwing.fbb.msu.ru:~/linux/credits/<username>_was_here.txt  (~ - ваша домашняя директория, не перепутайте!) 
56 1 Arthur Zalevsky
57 1 Arthur Zalevsky
h4.  Подключитесь к серверу xwing.vsb.fbb.msu.ru 
58 1 Arthur Zalevsky
59 1 Arthur Zalevsky
Для подключения к серверу xwing.fbb.msu.ru из:
60 1 Arthur Zalevsky
61 1 Arthur Zalevsky
* Windows:
62 1 Arthur Zalevsky
63 1 Arthur Zalevsky
Воспользуйтесь программой "PuTTY":https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe. 
64 1 Arthur Zalevsky
65 1 Arthur Zalevsky
<pre>
66 1 Arthur Zalevsky
Host Name: xwing.cmm.msu.ru
67 1 Arthur Zalevsky
Port: 443
68 1 Arthur Zalevsky
Connection type: SSH
69 1 Arthur Zalevsky
</pre>
70 1 Arthur Zalevsky
71 1 Arthur Zalevsky
Графические инструкции можно найти в лекции.
72 1 Arthur Zalevsky
73 1 Arthur Zalevsky
* GNU/Linux, OS X, etc
74 1 Arthur Zalevsky
75 1 Arthur Zalevsky
<pre>
76 1 Arthur Zalevsky
77 1 Arthur Zalevsky
ssh -p 443 <username>@xwing.cmm.msu.ru
78 1 Arthur Zalevsky
79 1 Arthur Zalevsky
</pre>
80 1 Arthur Zalevsky
81 1 Arthur Zalevsky
82 1 Arthur Zalevsky
h4. Создайте директорию ~/linux/tmp и перейдите в нее 
83 1 Arthur Zalevsky
84 1 Arthur Zalevsky
Сначала осмотритесь. Команда <code>pwd</code> "(man pwd)":http://citforum.ru/operating_systems/manpages/PWD.1.shtml покажет вам в какой вы директории. Команда <code>ls</code>  "(man ls)":http://citforum.ru/operating_systems/manpages/LS.1.shtml покажет список файлов и поддиректорий в этой директории.
85 1 Arthur Zalevsky
86 1 Arthur Zalevsky
Используйте команды mkdir  "(man mkdir)":http://citforum.ru/operating_systems/manpages/MKDIR.1.shtml и cd "(man cd)":http://citforum.ru/operating_systems/manpages/CD.1.shtml. Например, так. 
87 1 Arthur Zalevsky
88 1 Arthur Zalevsky
Чтобы не тратить время на набор лишних символов чаще используйте клавишу Tab (табулятор).
89 1 Arthur Zalevsky
 
90 1 Arthur Zalevsky
h4. Скопируйте файлы с расширением txt из директории /tasks/linux/some_strange_files в директорию ~/linux/tmp
91 1 Arthur Zalevsky
92 1 Arthur Zalevsky
Для копирования файлов воспользуйтесь командой <code>cp</code>  "(man cp)":http://citforum.ru/operating_systems/manpages/CP.1.shtml
93 1 Arthur Zalevsky
94 1 Arthur Zalevsky
В простейшем виде синтаксис команды выглядит следующим образом: <code>cp <файл> <имя копии файла></code>. Внимательно отнеситесь к описанию путей к файлам.
95 1 Arthur Zalevsky
96 1 Arthur Zalevsky
Но копировать файлы по одному достаточно непрактично. Оптимизируйте эту операцию при помощи файловых масок (регулярных выражений).
97 1 Arthur Zalevsky
98 1 Arthur Zalevsky
Проверьте, что получилось (команды <code>ls</code> и <code>less</code>).
99 1 Arthur Zalevsky
100 1 Arthur Zalevsky
Если, случайно, вы скопировали не только нужные файлы, то удалите лишние при помощи команды <code>rm <имя файла></code>. Вместо имени файла можно написать маску имен файлов. *Будьте аккуратны!* Корзины и операций восстановления в файлов в GNU/Linux нет. Для перестраховки используйте вызов <code>rm -i</code> или <code>rm -I</code>. Прочитайте в мануале "(man rm)":http://citforum.ru/operating_systems/manpages/RM.1.shtml  за что отвечают эти опции.
101 1 Arthur Zalevsky
102 1 Arthur Zalevsky
h4. Определите уникальное содержимое файлов из предыдущего задания 
103 1 Arthur Zalevsky
104 1 Arthur Zalevsky
Вывести содержимое файлов можно при помощи команды <code>cat <one_file> <or_more_files></code>'. "(man cat)":http://citforum.ru/operating_systems/manpages/CAT.1.shtml
105 1 Arthur Zalevsky
106 1 Arthur Zalevsky
Отфильтровать уникальное содержимое можно при помощи команды <code>uniq</code>, только внимательно прочтите документацию "(man uniq)":http://citforum.ru/operating_systems/manpages/UNIQ.1.shtml к программе перед ее использованием.
107 1 Arthur Zalevsky
108 1 Arthur Zalevsky
Для передачи выдачи одной программы на вход другой воспользуйтесь конвейером ( он же "пайп", знак `|`), например так: <code>cat smth | uniq</code>.
109 1 Arthur Zalevsky
110 1 Arthur Zalevsky
h4. Создайте директорию ~/linux/credits и в ней файл с отчетом <username>_was_here.txt 
111 1 Arthur Zalevsky
112 1 Arthur Zalevsky
В файл отчета <username>_was_here.txt внесите следующие строки:
113 1 Arthur Zalevsky
114 1 Arthur Zalevsky
*Первая строка*: username:
115 1 Arthur Zalevsky
*Вторая строка*: <username>
116 1 Arthur Zalevsky
*Третья строка*: absolute path to credits dir:
117 1 Arthur Zalevsky
*Четвертая строка*: <path>
118 1 Arthur Zalevsky
119 1 Arthur Zalevsky
Используйте команду echo <строка>. Когда освоитесь с ней -- перенаправьте ее выход в файл оператором "> или >>": <code>echo <строка>  > <имя файла></code>. Используйте оператор ">>" для дописывания в конец файла
120 1 Arthur Zalevsky
121 1 Arthur Zalevsky
Далее добавьте в этот файл команду, которую вы использовали для копирования файлов по маске.
122 1 Arthur Zalevsky
123 1 Arthur Zalevsky
Далее добавьте в этот файл результат выполнения задания 4 и команду, при помощи которой вы его получили.
124 1 Arthur Zalevsky
125 1 Arthur Zalevsky
Проверьте содержимое файла командой less <имя файла>. Выход "q". Проверьте, появилось ли приглашение командной строки bash: "....$ " .
126 1 Arthur Zalevsky
127 1 Arthur Zalevsky
h4. Для штатного выходы из linux выполните команду `exit`
128 1 Arthur Zalevsky
129 1 Arthur Zalevsky
Если команда `exit` не выполнена, а вы закрываете окно, то список выполненных за сеанс команд не запоминается. Значит, при следующем заходе команда history не вспомнит об этих командах.