Лабораторная работа. Лабораторная работа 1. Создание виртуальной машины на основе VirtualBox. Установка ос windows 7 1 23456789Следующая Цель работы
Скачать 0.77 Mb.
|
Редактирование текстовых файлов ⇐ Предыдущая123456789Следующая ⇒ Мелкие правки конфигурационных файлов — обычное дело для администратора, поэтому средство их внесения присутствовало в UNIX-системах всегда. Наиболее распространенное такое средство, присутствующее в л.бой системе Linux – это консольный полноэкранный редактор vi.Как полноэкранный редактор, vi может находиться в одном из двух режимов. В режиме вставки вводимые символы поступают в редактируемый файл, в командном режиме они воспринимаются как команды. Перечислим коротко самые употребительные команды редактора vi: РЕЖИМ ВСТАВКИ. Включение режима вставки: •i в текущей позиции курсора; • I перед первым непробельным символом в текущей строке; • w в новой строке, добавленной после текущей; • W в новой строке, добавленной перед текущей. Выключение режима вставки: • Команды режима вставки: •Ctrl+а повторить предыдущую вставку; • Ctrl+у вставить символ, находящийся над курсором (в предыдущей строке); • Ctrl+e вставить символ, находящийся под курсором (в следующей строке). КОМАНДНЫЙ РЕЖИМ. Удаление (здесь и далее N — это число): •N х N символов под курсором и справа от него; • N X N символов слева от курсора; • N dd N строк; • D до конца текущей строки; • N D до конца текущей строки и еще N-1 строку. Копирование и вставка строк: •N уу взять в буфер N строк от текущей и ниже; • р вставить содержимое буфера после текущей строки; • Р вставить содержимое буфера перед текущей строкой. Поиск и переход: •N G перейти к строке с номером N; • $ G перейти к последней строке файла; • /< образец > искать образец вниз от курсора; • ?< образец > искать образец вверх от курсора; • п повторить поиск в том же направлении; • N (буквально _N_): повторить поиск в обратном направлении. Сохранение и выход: •:w сохранить текущий файл; • :w <имя> сохранить под новым именем, если файл <имя> еще не существует; • :w! <имя> сохранить под новым именем, переписав существующий файл; • :q выйти; • :q! принудительно выйти без сохранения; • :wq сохранить и выйти. Разное полезное: •N u отменить последние N изменений; • N Ctrl+г вернуть последние N отмененных изменений; • U отменить изменения в последней строке; • N r < символ > заменить N следующих символов на < символ >; • N > > добавить отступ (Tab) в N следующих строк; • N < < удалить один отступ (Tab) из N следующих строк; • :sh временно выйти в оболочку (вернуться — exit); • :!<команда> выполнить команду оболочки. Работа с vi в простых случаях сводится к использованию следующего небольшого набора команд: vi <имя файла> # открыли файл для просмотра или редактирования или создания : перешли в режим ввода ход в режим ввода текста (если требуется) ESC вышли из режима редактирования в режим команд : перешли из режима команд в режим командной строки w записали изменения (если требуется) q –> Enter вышли из редактора (если изменения уже записаны или их не было) q! - > Enter вышли из редактора без сохранения изменений (если требуется). Порядок выполнения работы: 1. Запустить виртуальную машину с Linux Ubuntu. 2. Загрузиться пользователем root. Для его подключения достаточно войти под первым зарегистрированным пользователем, и при помощи терминала поставить пользователю root новый пароль. Процесс изменения пароля смотри в лабороторной работе №5. 3. Ознакомиться со структурой системных каталогов ОС Linux на рабочем месте. Привести в отчете перечень каталогов с указанием их назначения. 4. Просмотреть содержимое каталога файлов физических устройств. В отчете привести перечень файлов физических устройств на рабочем месте с указанием назначения файлов. 5. Перейти в директорий пользователя root. Просмотреть содержимое каталога. Просмотреть содержимое файла vmlinuz. Просмотреть и пояснить права доступа к файлу vmlinuz. 6. Создать в директории пользователя user три файла 1.txt, 2.txt и 3.txt, используя команды touch, cat и редактор vi. Просмотреть и пояснить права доступа к файлам. 7. Перейти в директории пользователя root. В отчете описать результат. 8. Изменить права доступа на файл 1.txt в директории пользователя user. 9. Создать жесткую и символическую ссылки на файл 2.txt. Просмотреть результаты. 10. Создать каталог new в каталоге пользователя user. 11. Скопировать файл 1.txt в каталог new. 12. Переместить файл 2.txt в каталог new. 13. Изменить владельца файла 3.txt и каталога new. 14. Удалить файл 1.txt в каталоге new. 15. Удалить каталог new. 16. Найти, используя команду find, файл vga2iso (или другой файл по заданию преподавателя). Контрольные вопросы 1. Что такое файловая система? 2. Жесткая ссылка в Linux. Основные сведения. 3. Команда поиска в Linux. Основные сведения. 4. Перечислите основные команды работы с каталогами. Литература 1. Колисниченко Д.Н., Питер В.Аллен. Linux. Полное руководство, 2-е изд. [Текст] - СПб: Наука и техника, 2007. - 784 с.
Сигналы в Linux ⇐ Предыдущая123456789Следующая ⇒ Механизм сигналов — это средство, позволяющее сообщать процессам о некоторых событиях в системе, а процессу-получателю — должным образом на эти сообщения реагировать. Послать сигнал может сам процесс (например, при попытке деления на ноль), ядро (при сбое оборудования), пользователь или другой процесс (требуя прервать выполнение задачи). Всего в Linux 63 сигнала, обозначаемых своими номерами или символическими именами. Имена всех сигналов начинаются с SIG, и эту приставку часто опускают: так, сигнал, требующий прекратить выполнение процесса, называется SIGKILL, или KILL, или сигнал 9. Получив сигнал, процесс может: игнорировать его; вызвать для обработки установленную по умолчанию функцию; вызвать собственный обработчик (перехватить сигнал). Некоторые сигналы (например, KILL) перехватить или игнорировать невозможно. Пользователь может послать сигнал процессу с идентификатором PID командой $ kill [-s <сигнал>] где <сигнал> — это номер или символическое имя. Несколько часто встречающихся сигналов перечислены в таблице 1. Полный список можно получить по команде kill -l (list). Таблица 1. Сигналы Linux
Сообщение-сигнал не содержит никакой информации, кроме номера сигнала (для удобства вместо номера можно использовать предопределенное системой имя). Для того чтобы передать сигнал, процессу достаточно задействовать системный вызов kill(), а для того чтобы принять сигнал, не нужно ничего. Если процессу необходимо как-то по-особенному реагировать на сигнал, он может зарегистрировать обработчик, а если обработчика нет, за него отреагирует система. Как правило, это приводит к немедленному завершению процесса, получившего сигнал. Обработчик сигнала запускается асинхронно, немедленно после получения сигнала, что бы процесс в это время ни делал. Яндекс.Директ Простая и быстрая SCADA система! simplight.ru Заказать кандидатскую диссертацию diplomvsem.ru Два сигнала – 9 (KILL) и 19 (STOP) – всегда обрабатывает система. Первый из них нужен для того, чтобы убить процесс наверняка (отсюда и название). Сигнал STOP приостанавливает процесс: в таком состоянии процесс не удаляется из таблицы процессов, но и не выполняется до тех пор, пока не получит сигнал 18 (CONT) – после чего продолжит работу. В Linux сигналы можно передать активному процессу с помощью управляющих символов: Interrupt - ^C (Ctrl+C) Stop - ^Z" Terminate - ^D.
Команды для управления процессами в Linux ⇐ Предыдущая123456789 Моментальный снимок протекающих в системе процессов – команда ps Моментальный снимок протекающих в системе процессов можно посмотреть с помощью команды ps (process status). Без аргументов она покажет список процессов, связанных с текущей консолью (или виртуальным терминалом). Список возможных ключей команды можно, как обычно, получить по команде ps --help. Вот некоторые полезные из них: ♦ -р < список_PID> : только процессы с указанными ID; ♦ -u < список_USERID > : только процессы, запущенные указанными пользователями; ♦ -е : все процессы в системе; ♦ -f : полная форма вывода; ♦ -Н : вывод иерархии процессов в форме дерева. Динамика процессов — команда top Представление о динамике процессов дает команда top. Она выводит список процессов, отсортированный по количеству занятой памяти или использованного процессорного времени, и обновляет его через указанные промежутки времени (по умолчанию через каждые 3 секунды). Последний процесс, запущенный из оболочки в фоне, можно из этойоболочки сделать активным при помощи команды fg("foreground" – "передний план"). Команда bg(back ground), запускает в фоне последний остановленный процесс. Командой kill, как уже говорилось, можно передать процессу сигнал. Команда имеет два параметра - номер сигнала и идентификатор процесса, которому передается сигнал: kill –номер_сигнала PID Порядок выполнения работы: 1) Загрузиться не root, а пользователем. 2) Найти файл c образом ядра. Выяснить по имени файла номер версии Linux. 3) Посмотреть процессы ps –f. Прокомментировать. Для этого почитать man ps. 4) Написать с помощью редактора vi два сценария loop и loop2. Текст сценариев: Loop: while true; do true; done Loop2: while true; do true; echo ‘Hello’; done 5) Запустить loop2 на переднем плане: sh loop2. 6) Остановить, послав сигнал STOP. 7) Посмотреть последовательно несколько раз ps –f. Записать сообщение, объяснить. 8) Убить процесс loop2, послав сигнал kill -9 PID. Записать сообщение. Прокомментировать. 9) Запустить в фоне процесс loop: sh loop&. Не останавливая, посмотреть несколько раз: ps –f. Записать значение, объяснить. 10) Завершить процесс loop командой kill -15 PID. Записать сообщение, прокомментировать. 11) Третий раз запустить в фоне. Не останавливая убить командой kill -9 PID. 12) Запустить еще один экземпляр оболочки: bash. 13) Запустить несколько процессов в фоне. Останавливать их и снова запускать. Записать результаты просмотра командой ps –f. Литература 1. Колисниченко Д.Н., Питер В.Аллен. Linux. Полное руководство, 2-е изд. [Текст] - СПб: Наука и техника, 2007. - 784 с. |