Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
unix_shell_lab1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
183.3 Кб
Скачать

операционные системы. UNIX Shell

§1 Unix Shell – лабораторные работы

Для выполнения лабораторной работы из любого раздела необходимо: 1) изучить соответствующий теоретический материал; 2) выполнить задание; 3) подготовить ответы на контрольные вопросы; 4) защитить работу, продемонстрировав ее преподавателю и ответив на его вопросы.

    1. Лабораторная работа №1: Работа в среде unix

      1. Общие сведения

Язык командного интерпретатора shell

Командная оболочка UNIX Shell – интерпретатор команд, используемый в операционных системах семейства UNIX. Shell реализует интерфейс командной строки, позволяя пользователю взаимодействовать с операционной системой, вводя команды в окне терминала для выполнения определенных действий и получая ответ в виде текстовых сообщений.

Благодаря тому, что Shell обладает широким набором команд и базовых языковых конструкций (циклы, условия, объявления функций, оператор присваивания и т.д.), позволяет производить арифметические вычисления, запуск внешних программ, перенаправление ввода-вывода и конвейер, имеет мощные средства обработки текста и т.д., его использование не ограничивается работой пользователя в терминале операционной системы. Shell является полноценным языком создания сценариев («скриптов»), он может применяться для:

  • автоматизации рутинных задач системного администратора или пользователя

  • анализа журнальных файлов («логов») и подсчета разного рода статистики

  • написания сценариев автоматической конфигурации и установки приложений

  • создания стартовых сценариев ОС и сценариев запуска/остановки приложений

  • автоматического резервного копирования

  • написания CGI-приложений

  • и т.д.

Работа в среде Shell

Существует два способа работы с интерпретатором Shell:

  1. Интерактивный: пользователь подключается к терминальному окну системы, запускается оболочка Shell, в терминал выводится приглашение. Пользователь работает в режиме «диалога» с Shell, он может вводить команды языка Shell, которые будут выполняться оболочкой, ответ выводится в окно терминала. Для завершения сеанса работы пользователю необходимо завершить выполнение самой оболочки, введя команду exit или logout.

  2. Неинтерактивный: текст скрипта находится в файле, который запускается на выполнение. Для выполнения скрипта система запускает экземпляр оболочки Shell, который производит интерпретацию, т.е. непосредственное покомандное выполнение текста программы. Как только интерпретатор достигнет конца текста, он завершает свою работу.

Язык Shell относится к числу интерпретируемых языков. Для выполнения программ, написанных на Shell, НЕ ТРЕБУЕТСЯ предварительная компиляция в бинарный код. Анализ текста программы и выполнение команд производится «на лету».

      1. Описание рабочей среды

Студенческий Shell-сервер

Выполнение студентами лабораторных работ по курсу Shell предполагается на специально выделенном сервере. Сервер расположен в Лаборатории защиты информации СибГУТИ.

Краткие сведения о машине:

Аппаратура: CPU Intel Celeron 500MHz/96Mb RAM/20Gb HDD/10Mbps Ethernet

ОС: FreeBSD 6.4-RELEASE

Интерпретатор Shell: GNU bash v.3.x (по-умолчанию). Установлены и доступны другие интерпретаторы (csh, sh). Для выполнения работ рекомендуется использовать bash.

Подключение к системе

Каждый студент на первом занятии должен получить ЛОГИН и ПАРОЛЬ для входа в систему!

Удаленное подключение к серверу осуществляется только по протоколу SSH (Secure Shell). Сервис доступен круглосуточно как из внутренней сети университета (например, из лабораторий кафедры ПМиК), так и из сети Internet.

Подключение:

  1. Если Вы работаете в UNIX-подобной ОС (Linux, FreeBSD и т.д.). В комплект поставки всех современных операционных систем семейства UNIX входит консольный клиент ssh. Для подключения к серверу из среды UNIX используйте строчку:

sshp 563 –l <username> ipl.sibsutis.ru

где <username> - ваш логин (имя пользователя).

При возникновении проблем с разрешением имен (DNS) вместо имени хоста ipl.sibsutis.ru можно использовать IP: 195.149.206.251. В этом случае команда подключения будет выглядеть следующим образом:

ssh –p 563 –l <username> 195.149.206.251

  1. Если Вы работаете в ОС Windows. Операционные системы семейства Windows не содержат встроенного SSH-клиента. Для подключения из ОС Windows рекомендуется использовать популярный свободно-распространяемый клиент Putty. Программа Putty состоит из одного исполняемого файла, не требует предварительной установки, не требует прав администратора системы для выполнения. Подробная инструкция по подключению с использованием клиента Putty находится в отдельном документе. Программа Putty доступна для скачивания с сайта разработчика:

http://www.chiark.greenend.org.uk/~sgtatham/putty/

(достаточно загрузить только исполняемый файл putty.exe).

Копии программы расположены:

  • на сервере Лаборатории защиты информации (сайт доступен из лабораторий каф. ПМиК без авторизации на прокси-сервере):

http://ipl.sibsutis.ru/~mike/OS/

Копирование файлов между сервером и рабочей станцией

Каждый студент имеет на сервере личную папку («домашний каталог», «home directory»), в которой он может хранить свои данные, необходимые для выполнения лабораторных работ.

При необходимости копирования файлов с сервера на клиентскую рабочую станцию или обратно, можно воспользоваться протоколами SFTP (Secure FTP) или SCP (Secure Copy).

Для подключения необходим SFTP-клиент или SCP-клиент:

  1. Если Вы работаете в UNIX-подобной ОС (Linux, FreeBSD и т.д.). В составе большинства ОС семейства UNIX имеются консольные утилиты sftp и scp. Для подключения с помощью программы sftp используйте команду:

sftp –oPort=563 <username>@ipl.sibsutis.ru

где <username> - ваш логин (имя пользователя). Программа sftp представляет собой интерактивный консольный клиент, аналогичный по интерфейсу стандартному консольному клиенту ftp, имеющемуся в большинстве операционных систем.

  1. Если Вы работаете в ОС Windows. Операционные системы семейства Windows не содержат встроенного SCP-клиента и SFTP-клиента. Для подключения из ОС Windows можно применить консольные программы pscp.exe и psftp.exe, входящие в состав полного пакета Putty (см. сайт автора выше) или более удобную свободно-распространяемую программу WinSCP с графическим интерфейсом. Подробная инструкция по подключению к серверу с помощью программы WinSCP находится в отдельном документе. WinSCP выпускается в различных вариантах: установочный пакет, отдельный исполняемый файл без необходимости установки и plugin для менеджера FAR. Сайт автора программы: http://winscp.net. Копии отдельного исполняемого файла для использования из лабораторий кафедры ПМиК можно найти на сервере Лаборатории защиты информации или сервере каф. ПМиК (ссылки см. выше)

Правила работы на сервере

После входа в систему по протоколу SSH открывается сеанс: терминальное окно и приглашение оболочки Shell. С этого момента пользователь может приступать к работе. Использование сервера должно ограничиваться требованиями заданий лабораторных работ по курсу «Операционные системы».

На сервере ЗАПРЕЩАЕТСЯ любая деструктивная и неправомерная деятельность (запуск посторонних программ, попытки взлома, перегрузка системы запуском ресурсоемких процессов, несанкционированное блокирование/изменение/удаление личных данных пользователей, изменение личной информации о пользователе, работа под чужим аккаунтом, передача своего логина/пароля постороннему лицу и т.д.). Нарушители будут привлекаться к ответственности.

На сервере введены ограничения (на каждого пользователя):

  • Общее количество файлов <= 200 шт.

  • Суммарный объем файлов <= 50Мб

  • Количество процессов <= 16 шт.

  • и др.

Пользователи могут (список пополняется, спрашивайте что можно):

  • Открывать несколько сеансов Shell одновременно

  • Использовать для общения друг с другом на сервере программу write (перед использованием, пожалуйста, ознакомьтесь с инструкцией man write)

  • Менять свой пароль. Для смены пароля используйте команду /usr/bin/passwd. Внимание!!! При вводе паролей на экране не отображаются символы (даже звездочки)!

Некоторые полезные замечания

  • Документация:

    • Дэвид Тейнсли «Linux и UNIX: программирование в shell» (файл UNIX_SHELL.djvu)

    • HTML-справка по командам (папка MAN_PAGES_HTML)

    • Man-страницы на сервере: используйте команду man <команда>, для получения справки, например: man ls. (Примечание: документация на англ. языке)

    • Краткая информация в заданиях лабораторных работ.

  • Файловый менеджер: вы можете использовать на сервере менеджер файлов Midnight Commander, который вызывается командой mc. Менеджер во многом похож на Norton Commander или Far, в частности, он имеет удобный встроенный текстовый редактор, который можно использовать для написания скриптов. Текстовый редактор можно вызывать клавишей F4 из менеджера или отдельно командой mcedit <имя файла> из консоли.

  • Для опытных пользователей доступны текстовые редакторы vi , vim, emacs.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]