Главная страница
Навигация по странице:

  • Удаление (здесь и далее N — это число)

  • Копирование и вставка строк

  • Порядок выполнения работы

  • Команды для управления процессами в Linux

  • Лабораторная работа. Лабораторная работа 1. Создание виртуальной машины на основе VirtualBox. Установка ос windows 7 1 23456789Следующая Цель работы


    Скачать 0.77 Mb.
    НазваниеЛабораторная работа 1. Создание виртуальной машины на основе VirtualBox. Установка ос windows 7 1 23456789Следующая Цель работы
    АнкорЛабораторная работа
    Дата11.01.2022
    Размер0.77 Mb.
    Формат файлаdocx
    Имя файлаЛабораторная работа.docx
    ТипЛабораторная работа
    #328288
    страница4 из 4
    1   2   3   4

    Редактирование текстовых файлов

  • ⇐ Предыдущая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



    Имя

    Назначение

    Реакция процесса-получателя




    HUP

    Hangup — отбой

    Демоны перечитывают свои конфигурационные файлы




    INT

    Interrupt

    Прекратить выполнение (перехватывается)




    QUIT

    Сильнее, чем INT

    тоже




    ILL

    Программная ошибка

    Обработать ошибку. По умолчанию — прекратить выполнение




    FPE

    Floating point exception, вычислительная ошибка (деление на ноль)

    Обработать ошибку. По умолчанию —прекратить выполнение




    KILL

    Убить процесс

    Немедленно прекратить выполнение. Не перехватывается




    SEGV

    Segmentation violation. Попытка доступа к чужой области памяти

    Обработать ошибку. По умолчанию — прекратить выполнение




    PIPE

    Нет процесса, читающего из конвейера

    Обработать ошибку. Корректно завершить выполнение Перехватывается.




    TERM

    Termination. Завершить процесс







    CHLD

    Завершился дочерний процесс

    Принять возвращенное им значение




    CONT

    Продолжить работу

    Продолжить работу приостановленного процесса




    STOP

    Приостановить процесс

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

  • Сообщение-сигнал не содержит никакой информации, кроме номера сигнала (для удобства вместо номера можно использовать предопределенное системой имя). Для того чтобы передать сигнал, процессу достаточно задействовать системный вызов 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 с.
    1   2   3   4


  • написать администратору сайта