This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
работа_в_командной_строке_unix [2018/02/20 10:19] val [Вопросы] |
работа_в_командной_строке_unix [2019/02/07 11:43] val [Теория] |
||
---|---|---|---|
Line 3: | Line 3: | ||
* "UNIX в основном простая операционная система, но нужно быть гением, чтобы понять её простоту" (Денис Ритчи) | * "UNIX в основном простая операционная система, но нужно быть гением, чтобы понять её простоту" (Денис Ритчи) | ||
* "Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий" (Козьма Прутков) | * "Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий" (Козьма Прутков) | ||
+ | |||
===== Программа курса ===== | ===== Программа курса ===== | ||
Line 38: | Line 39: | ||
Подключение к UNIX | Подключение к UNIX | ||
+ | * [[https://ru.wikipedia.org/wiki/Телетайп|Телетайп]] | ||
* [[https://ru.wikipedia.org/wiki/Текстовый_терминал|Текстовый_терминал]] | * [[https://ru.wikipedia.org/wiki/Текстовый_терминал|Текстовый_терминал]] | ||
* [[https://ru.wikipedia.org/wiki/RS-232|Интерфейс RS-232]] | * [[https://ru.wikipedia.org/wiki/RS-232|Интерфейс RS-232]] | ||
Line 49: | Line 51: | ||
* [[https://ru.wikipedia.org/wiki/Интерфейс_командной_строки|Интерфейс командной строки]] | * [[https://ru.wikipedia.org/wiki/Интерфейс_командной_строки|Интерфейс командной строки]] | ||
* [[https://ru.wikipedia.org/wiki/Bash|Bourne again shell]] | * [[https://ru.wikipedia.org/wiki/Bash|Bourne again shell]] | ||
- | |||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | Подключение к системе | + | Входное тестирование - скачать свежий образ netinst под архитектуру amd64 с сайта |
+ | * https://www.debian.org/ | ||
+ | |||
+ | Подключение к уже установленной и настроенной системе | ||
* [[https://youtu.be/7lE8Y8U4M0g|Видео урок: Принцип работы терминала UNIX]] | * [[https://youtu.be/7lE8Y8U4M0g|Видео урок: Принцип работы терминала UNIX]] | ||
* [[https://www.tutorialspoint.com/unix_terminal_online.php|Unix Terminal Online]] | * [[https://www.tutorialspoint.com/unix_terminal_online.php|Unix Terminal Online]] | ||
+ | * [[http://www.freeemulator.com/online-terminal-emulator/|ONLINE TERMINAL EMULATOR]] | ||
* getty/login (демонстрирует преподаватель) | * getty/login (демонстрирует преподаватель) | ||
* putty, winscp (во 2-м модуле) | * putty, winscp (во 2-м модуле) | ||
* ssh из unix в unix (после развертывания собственной системы) | * ssh из unix в unix (после развертывания собственной системы) | ||
- | * xdm (демонстрирует преподаватель) | ||
- | * putty X11 tunnel (демонстрирует преподаватель) | ||
Принципы работы в системе | Принципы работы в системе | ||
Line 71: | Line 74: | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
- | - Какие программы могут быть использованы для подключения к UNIX системе по протоколу ssh? | + | - Какие Windows программы могут быть использованы для подключения к UNIX системе по протоколу ssh? |
- Что определяют аргументы команды/утилиты? | - Что определяют аргументы команды/утилиты? | ||
- Что определяют ключи/опции команды/утилиты? | - Что определяют ключи/опции команды/утилиты? | ||
Line 94: | Line 97: | ||
* [[Текстовые редакторы ed, sed, vi, vim]] ([[https://youtu.be/r8e7F46un7A|Видео урок]]) | * [[Текстовые редакторы ed, sed, vi, vim]] ([[https://youtu.be/r8e7F46un7A|Видео урок]]) | ||
* [[Текстовый редактор nano]] | * [[Текстовый редактор nano]] | ||
- | * [[Команды фильтры]] | + | * [[Настройка командных интерпретаторов]] (комбинации клавиш, повтор и автоподстановка команд) |
+ | * [[Команды фильтры]] (выполнить работу в теме перенаправления ввода вывода) | ||
* [[Регулярные выражения]] ([[https://youtu.be/BhbDsKetNn8|Видео урок]]) | * [[Регулярные выражения]] ([[https://youtu.be/BhbDsKetNn8|Видео урок]]) | ||
* [[Утилиты diff и patch]] ([[https://youtu.be/vqPaHyisBB0|Видео урок]]) | * [[Утилиты diff и patch]] ([[https://youtu.be/vqPaHyisBB0|Видео урок]]) | ||
Line 100: | Line 104: | ||
* [[Генератор отчетов awk]] ([[https://youtu.be/4PkkMzB7fIM|Видео урок]]) | * [[Генератор отчетов awk]] ([[https://youtu.be/4PkkMzB7fIM|Видео урок]]) | ||
* [[Команда tar]] (выполнить работу в конце курса) | * [[Команда tar]] (выполнить работу в конце курса) | ||
- | * [[Команда cpio]] | + | * Команды scp, wget (в лабораторных работах следующего модуля) |
- | * Команды scp, wget, ftp (в лабораторных работах следующего модуля) | + | |
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 108: | Line 110: | ||
- Какой командой можно создать файл? | - Какой командой можно создать файл? | ||
- Что означает символы "~", ".", "..", "/" в имени файла? | - Что означает символы "~", ".", "..", "/" в имени файла? | ||
- | - Что обозначают ключи "h/H", "v", "r/R" в многих командах? | + | - Что обозначают ключи "h/H", "v", "r/R" во многих командах? |
- Какие команды используются для анализа занятого места на диске/в каталоге? | - Какие команды используются для анализа занятого места на диске/в каталоге? | ||
- Какой командой можно удалить непустой каталог? | - Какой командой можно удалить непустой каталог? | ||
Line 133: | Line 135: | ||
* [[Перенаправление потоков ввода/вывода]] | * [[Перенаправление потоков ввода/вывода]] | ||
* [[Переменные окружения#Управление процессами через переменные окружения]] | * [[Переменные окружения#Управление процессами через переменные окружения]] | ||
+ | * [[Настройка командных интерпретаторов]] (управление приглашением ко вводу PS1) | ||
* [[Коды завершения]] | * [[Коды завершения]] | ||
* Развертывание виртуальной машины в VirtualBox | * Развертывание виртуальной машины в VirtualBox | ||
* Лабораторная работа [[Использование Asterisk в офисной телефонии#2.1 Установка системы server]] из курса по Asterisk | * Лабораторная работа [[Использование Asterisk в офисной телефонии#2.1 Установка системы server]] из курса по Asterisk | ||
- | * [[Управление ПО в Linux]], [[Сервис Asterisk#Установка]] cервиса Asterisk | + | * [[Пакет screen]] |
+ | * [[Управление ПО в Linux]], [[Сервис Asterisk#Установка]] сервиса Asterisk | ||
* [[Сигналы]], [[Управление сервисами в Linux]], [[Сервис Asterisk#Настройка базового функционала IP PBX]] | * [[Сигналы]], [[Управление сервисами в Linux]], [[Сервис Asterisk#Настройка базового функционала IP PBX]] | ||
<code> | <code> | ||
Line 142: | Line 146: | ||
# ps ax | grep asterisk | # ps ax | grep asterisk | ||
+ | |||
+ | # kill -s HUP НОМЕР_ПРОЦЕССА | ||
# kill -s HUP `cat /var/run/asterisk/asterisk.pid` | # kill -s HUP `cat /var/run/asterisk/asterisk.pid` | ||
Line 147: | Line 153: | ||
* Управление заданиями bg, fg, jobs (демонстрирует преподаватель) | * Управление заданиями bg, fg, jobs (демонстрирует преподаватель) | ||
- | |||
==== Вопросы ==== | ==== Вопросы ==== | ||
- | - Что обозначают ключи "a", "x", "u" в команде ps? | + | - Что обозначают ключи "a", "x" в команде ps? |
- Что такое STDIN, STDOUT, STDERR и какие у них номера? | - Что такое STDIN, STDOUT, STDERR и какие у них номера? | ||
- Что обозначают элементы "<", ">", "2>", "&1", "|" в выражениях shell | - Что обозначают элементы "<", ">", "2>", "&1", "|" в выражениях shell | ||
Line 195: | Line 200: | ||
# chown asterisk:asterisk /etc/asterisk/sip.conf | # chown asterisk:asterisk /etc/asterisk/sip.conf | ||
+ | или | ||
+ | # chmod +r /etc/asterisk/sip.conf | ||
# service asterisk restart | # service asterisk restart | ||
Line 200: | Line 207: | ||
# asterisk -x 'sip show users' | # asterisk -x 'sip show users' | ||
</code> | </code> | ||
- | |||
- | === Дополнительные лабораторные работы (демонстрирует преподаватель) === | ||
- | |||
- | Задание: | ||
- | |||
- | - зарегистрировать пользователя userX | ||
- | - предоставить пользователю userX доступ на чтение к файлу конфигурации sip.conf | ||
- | |||
- | <code> | ||
- | root# useradd -m -s /bin/bash userX | ||
- | |||
- | root# passwd userX | ||
- | |||
- | userX$ cat /etc/asterisk/sip.conf | ||
- | |||
- | root# chmod 644 /etc/asterisk/sip.conf | ||
- | </code> | ||
- | |||
- | Задание: назначить пользователя userX администратором системы | ||
- | |||
- | * [[Пакет sudo]] | ||
- | <code> | ||
- | # usermod -a -G sudo userX | ||
- | |||
- | userX$ sudo cat /etc/shadow | ||
- | </code> | ||
- | |||
- | Задание: предоставить возможность процессам запущенным из вебсервера делать телефонные вызовы через asterisk | ||
- | |||
- | * Asterisk. Интеграция. [[Asterisk. Интеграция#Модуль 4. Интеграция c web приложениями]] | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
- | - Для чего предназначены команды umask, chmod, chown? | + | - Что обозначают ключ "u" в команде ps? |
+ | - Для чего предназначены команды chmod, chown? | ||
- Что определяет маска 640 или <code>-rw-r-----</code> для файла? | - Что определяет маска 640 или <code>-rw-r-----</code> для файла? | ||
- Что обозначает бит "x" для файла и каталога | - Что обозначает бит "x" для файла и каталога | ||
- Что обозначает значение атрибута EUID=0 для процесса? | - Что обозначает значение атрибута EUID=0 для процесса? | ||
- | - Что обозначает бит "s" для файла, содержащего программу? | + | |
- | - Для чего предназначены команды su и sudo? | + | |
===== Модуль 5. Программирование на shell ===== | ===== Модуль 5. Программирование на shell ===== | ||