Adbm2017 pr2

Version 1 (Arthur Zalevsky, 09.02.2017 17:02)

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
== Задания ==
33 1 Arthur Zalevsky
34 1 Arthur Zalevsky
=== 0. Тренировочные задания в классе   ===
35 1 Arthur Zalevsky
36 1 Arthur Zalevsky
 1. Подключитесь к любому из устройств с GNU/Linux
37 1 Arthur Zalevsky
  * Сервер kodomo.fbb.msu.ru
38 1 Arthur Zalevsky
  * Raspberry PI (user: fbbstudent, password: fbbstudent)
39 1 Arthur Zalevsky
  * Ноутбук Артура (user: fbbstudent, password: fbbstudent)
40 1 Arthur Zalevsky
 1. Выполните базовые команды:
41 1 Arthur Zalevsky
  * whoami, who, finger
42 1 Arthur Zalevsky
  * pwd, ls (c опциями)
43 1 Arthur Zalevsky
  * cd, mkdir, rm
44 1 Arthur Zalevsky
  * touch, echo
45 1 Arthur Zalevsky
  * cp
46 1 Arthur Zalevsky
  * less, vim
47 1 Arthur Zalevsky
 1. Корректно завершите сессию:
48 1 Arthur Zalevsky
  * exit
49 1 Arthur Zalevsky
50 1 Arthur Zalevsky
{{{#!wiki warning
51 1 Arthur Zalevsky
52 1 Arthur Zalevsky
Результатом выполнения практикума является файл kodomo.fbb.msu.ru:~/term2/linux/credits/<username>_was_here.txt  (~ - ваша домашняя директория, не перепутайте!) 
53 1 Arthur Zalevsky
54 1 Arthur Zalevsky
}}}
55 1 Arthur Zalevsky
56 1 Arthur Zalevsky
{{{#!wiki comment
57 1 Arthur Zalevsky
''Подсказка от ААл.'' Лучший учебник для новичка - google! Например, набираете linux rm и получаете хорошие ссылки на русском языке. Конечно, Артур вас и меня побьёт за использование таких подсказок)))
58 1 Arthur Zalevsky
59 1 Arthur Zalevsky
''Комментарий от АЗ'' На слайде про источники помощи, гугл даже выше коллег! Но после man, конечно же.
60 1 Arthur Zalevsky
}}}
61 1 Arthur Zalevsky
62 1 Arthur Zalevsky
=== 1. Подключитесь к серверу kodomo.fbb.msu.ru  ===
63 1 Arthur Zalevsky
64 1 Arthur Zalevsky
Для подключения к серверу kodomo.fbb.msu.ru из:
65 1 Arthur Zalevsky
66 1 Arthur Zalevsky
* Windows:
67 1 Arthur Zalevsky
68 1 Arthur Zalevsky
Воспользуйтесь программой [[ https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe | PuTTY ]]. 
69 1 Arthur Zalevsky
70 1 Arthur Zalevsky
{{{
71 1 Arthur Zalevsky
Host Name: kodomo.fbb.msu.ru
72 1 Arthur Zalevsky
Port: 22
73 1 Arthur Zalevsky
Connection type: SSH
74 1 Arthur Zalevsky
}}} 
75 1 Arthur Zalevsky
76 1 Arthur Zalevsky
Графические инструкции можно найти в лекции.
77 1 Arthur Zalevsky
78 1 Arthur Zalevsky
* GNU/Linux, OS X, etc
79 1 Arthur Zalevsky
80 1 Arthur Zalevsky
{{{
81 1 Arthur Zalevsky
ssh <username>@kodomo.fbb.msu.ru
82 1 Arthur Zalevsky
}}}
83 1 Arthur Zalevsky
84 1 Arthur Zalevsky
85 1 Arthur Zalevsky
{{{#!wiki warning 
86 1 Arthur Zalevsky
87 1 Arthur Zalevsky
Умение подключаться из Windows при помощи Putty обязательно
88 1 Arthur Zalevsky
89 1 Arthur Zalevsky
}}}
90 1 Arthur Zalevsky
91 1 Arthur Zalevsky
=== 2. Создайте директорию ~/term2/linux/pr7 и перейдите в нее ===
92 1 Arthur Zalevsky
93 1 Arthur Zalevsky
Сначала осмотритесь. Команда pwd [[ http://citforum.ru/operating_systems/manpages/PWD.1.shtml | (man pwd) ]] покажет вам в какой вы директории. Команда ls  [[ http://citforum.ru/operating_systems/manpages/LS.1.shtml | (man ls) ]]покажет список файлов и поддиректорий в этой директории.
94 1 Arthur Zalevsky
95 1 Arthur Zalevsky
Используйте команды mkdir [[ http://citforum.ru/operating_systems/manpages/MKDIR.1.shtml | (man mkdir) ]] и cd [[ http://citforum.ru/operating_systems/manpages/CD.1.shtml | (cd) ]]. Например, так. 
96 1 Arthur Zalevsky
97 1 Arthur Zalevsky
{{{#!wiki comment
98 1 Arthur Zalevsky
 
99 1 Arthur Zalevsky
 * '''`mkdir term2`''' (в текущей директории создается поддиректория term2)
100 1 Arthur Zalevsky
 * '''`ls`''' (чтобы проверить что получилось)
101 1 Arthur Zalevsky
 * '''`cd term2`''' (перейти в term2; другими словами, сделать term2 текущей директорией; текущую директорию называют также рабочей)
102 1 Arthur Zalevsky
 * '''`pwd`''' (проверить, что получилось)
103 1 Arthur Zalevsky
 * '''`mkdir linux`''' и т.д. 
104 1 Arthur Zalevsky
  
105 1 Arthur Zalevsky
}}}
106 1 Arthur Zalevsky
107 1 Arthur Zalevsky
Чтобы не тратить время на набор лишних символов чаще используйте клавишу Tab (табулятор).
108 1 Arthur Zalevsky
 
109 1 Arthur Zalevsky
110 1 Arthur Zalevsky
=== 3. Скопируйте файлы с расширением txt из директории /P/y15/term2/Block2/some_strange_files в директорию pr7 ===
111 1 Arthur Zalevsky
112 1 Arthur Zalevsky
Для копирования файлов воспользуйтесь командой cp [[http://citforum.ru/operating_systems/manpages/CP.1.shtml | (man cp)]]
113 1 Arthur Zalevsky
114 1 Arthur Zalevsky
В простейшем виде синтаксис команды выглядит следующим образом: '''`cp <файл> <имя копии файла>`'''. Внимательно отнеситесь к описанию путей к файлам.
115 1 Arthur Zalevsky
116 1 Arthur Zalevsky
Но копировать файлы по одному достаточно непрактично. Оптимизируйте эту операцию при помощи файловых масок (регулярных выражений).
117 1 Arthur Zalevsky
118 1 Arthur Zalevsky
Проверьте, что получилось (команды ls и less).
119 1 Arthur Zalevsky
120 1 Arthur Zalevsky
Если, случайно, вы скопировали не только нужные файлы, то удалите лишние при помощи команды '''`rm <имя файла>`'''. Вместо имени файла можно написать маску имен файлов. '''Будьте аккуратны!''' Корзины и операций восстановления в файлов в GNU/Linux нет. Для перестраховки используйте вызов '''`rm -i`''' или '''`rm -I`'''. Прочитайте в мануале [[ http://citforum.ru/operating_systems/manpages/RM.1.shtml | (man rm)]] за что отвечают эти опции. 
121 1 Arthur Zalevsky
122 1 Arthur Zalevsky
123 1 Arthur Zalevsky
=== 4. Определите уникальное содержимое файлов из предыдущего задания ===
124 1 Arthur Zalevsky
125 1 Arthur Zalevsky
Вывести содержимое файлов можно при помощи команды '''`cat <one_file> <or_more_files>`'''. [[ http://citforum.ru/operating_systems/manpages/CAT.1.shtml | (man cat) ]]
126 1 Arthur Zalevsky
127 1 Arthur Zalevsky
Отфильтровать уникальное содержимое можно при помощи команды '''`uniq`''', только внимательно прочтите документацию [[ http://citforum.ru/operating_systems/manpages/UNIQ.1.shtml | (man uniq)]] к программе перед ее использованием.
128 1 Arthur Zalevsky
129 1 Arthur Zalevsky
Для передачи выдачи одной программы на вход другой воспользуйтесь конвейером ( он же "пайп", знак `|`), например так: '''`cat smth | uniq`'''.
130 1 Arthur Zalevsky
131 1 Arthur Zalevsky
132 1 Arthur Zalevsky
=== 5. Создайте директорию term2/linux/credits и в ней файл с отчетом <username>_was_here.txt ===
133 1 Arthur Zalevsky
134 1 Arthur Zalevsky
В файл отчета <username>_was_here.txt внесите следующие строки:
135 1 Arthur Zalevsky
136 1 Arthur Zalevsky
'''Первая строка:''' "absolute path to credits dir" 
137 1 Arthur Zalevsky
138 1 Arthur Zalevsky
Используйте команду echo <строка>. Когда освоитесь с ней -- перенаправьте ее выход в файл оператором ">": echo <строка>  > <имя файла>
139 1 Arthur Zalevsky
140 1 Arthur Zalevsky
'''Вторая строка:''' сам путь. 
141 1 Arthur Zalevsky
142 1 Arthur Zalevsky
Используйте оператор ">>" для дописывания в конец файла
143 1 Arthur Zalevsky
144 1 Arthur Zalevsky
Далее добавьте в этот файл команду, которую вы использовали для копирования файлов по маске.
145 1 Arthur Zalevsky
146 1 Arthur Zalevsky
Далее добавьте в этот файл результат выполнения задания 4 и команду, при помощи которой вы его получили.
147 1 Arthur Zalevsky
148 1 Arthur Zalevsky
Проверьте содержимое файла командой less <имя файла>. Выход "q". Проверьте, появилось ли приглашение командной строки bash: "....$ " .
149 1 Arthur Zalevsky
150 1 Arthur Zalevsky
=== Для штатного выходы из linux выполните команду `exit` ===
151 1 Arthur Zalevsky
{{{#!wiki warning
152 1 Arthur Zalevsky
Если команда `exit` не выполнена, а вы закрываете окно, то список выполненных за сеанс команд не запоминается. Значит, при следующем заходе команда history не вспомнит об этих командах.
153 1 Arthur Zalevsky
}}}
154 1 Arthur Zalevsky
--------