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