Skip to Content

Операционная система UNIX

(Перед разархивированием убрать из названия файла архива символы между "tar" и ".gz".)

 

Программа практических занятий

  • 19.09.2024

Установочное занятие: изучение приемов повышения эффективности работы (см. ссылку на файл выше). Настройка рабочего места в зале 2444.

  • 03.10.2024

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

Глобальные символы и шаблоны с командой ls.

Команды cp, mv, rm. Упражнения на копирование и переименование директорий (обстоятельства, влияющие на
результат: существует ли целевая директория, существует ли в целевой директории поддиректория с именем исходной
диектории, пуста ли эта поддиректория, какая команда (cp или mv) применяется, совпадют ли имена исходной и целевой
директорий).

Упражнения на временные штампы в директории /tmp и в своей домашней директории: 1) проследить временные штампы
при редактировании и просмотре файлов; 2) при использовании cp сравнить все три временных штампа у оригинального
файла до и после применения команды и у файла-копии; 3) проверить, что будет с временными штампами при
переименовании  (mv).

  • 10.10.2024

Глобальные символы и шаблоны с командой echo.

Команды работы с директориями: mkdir, cd, rmdir; dirs, pushd, popd.

Вьюеры (cat, more, less, mcview), система команд less; упражения по контекстному поиску в листинге man.

Новые специальные символы: ; $ {,}. Отмена специального значения символов: \, кавычки '  ' и "  ".

Командная подстановка: старый (кавычки `  `) и новый стили, гнездование (повторное и кратное применение командной подстановки).

  • 17.10.2024

Команда grep, регулярные выражения.

Команда sort, совместное применение sort и ls -l.

Команда find с отдельными ключами и комбинациями ключей. Использование find в виде командной подстановки в
команде ls; использование `pwd` при работе с find, пример гнездования при совместном использовании ls, find и
pwd.

Команда chmod. Тестовые упражнения на изменение прав доступа. Настроить права доступа к своей домашней
директории.

Линки: создание и работа с жесткими и мягкими линками. Мягкие линки в / и /dev. Создание цепей линков.

Команды diff, tail, head.
 

  • 31.10.2024

Команды wc, file.

Работа с устройствами, имеющими файловую систему: команды mount, dmesg, eject и df. Команда du.

Средства оболочки на специальных клавишах клавиатуры. Завершение (completion); история команд, C-r; листание
выдачи на терминал ([Shift]-[PgUp], [Shift]-[PgDn]). Команды редактирования командной строки: C-a, C-e, M-f
(C-[--->]), M-b (C-[<---]), C-k, C-u, M-d, M-[Backspace], C-y, C-_.

Переадресация ввода-вывода. Стандартные устройства stdin, stdout, stderr и стандартный ввод-вывод.
Перенаправление (переадресация) ввода-вывода: операторы переадресации <, >, 2>, сдвоенные операторы >>, 2>>;
слияние stdout и stderr с перенаправлением в файл &> и перенаправление stderr в stdout без обязательного
перенаправления в файл 2>&1. Конвейер (|). Встроенные документы (<<). Чтение аргументов со stdin: команда xargs.
Устройство /dev/null.

Midnight commander. Настройка X-терминала для повышения эффективности работы в mc (см. "Приемы повышения
эффективности работы", п. 2). Общий стиль работы под mc: перемещения двух курсоров, F-клавиши, строка подсказки,
выделение списка файлов, [F9] — главное меню mc (другие команды и настройка). Отображение типов и других
атрибутов файлов: включение в залах 2444 (см. "Приемы...", п. 8). Англоизация mc. "Горячие клавиши": C-o; C-r;
M-p, M-n; [Esc],[Tab]; M-s; M-[Enter]; C-x,t; C-x,p (M-a), C-x,C-p; M-i; M-y, M-u; C-\ ("горячие директории");
M-t; [F9],c,c,t (детальное сравнение двух директорий); M-? (функции команд find и grep). Стандартные  реакции на
расширения.

Переменные оболочки. Заведение переменных, способы ссылки на их значения. Нестандартное раскрытие  переменной
(длина значения, удаление части значения переменной по шаблону, выделение подстроки). Команда export, cоздание
переменных в ~/.bash_profile. Присвоение значений для исполнения команды. Общий шаблон simple command. Команда readonly.
Переменные окружения. Команды set и unset. locale как приложение и команда.

  • 07.11.2024

Отладка и модификации скрипта, написанного в аудитории: реакция на ошибки (отсутствие параметра, больше одного параметра), синопсис, усложнения.

Код завершения команды. Специальный параметр ?.

Команды test, true, false, expr, bc, date, sleep, eval, cut, gawk, sed, paste, seq.

Последовательности команд. Работа с разделителями  конвейеров в списке.

Скрипты, способы их выполнения.

Команда alias.

Структуры if, while, until, for, case; операторы прерывания continue, break, exit.

Написание тренировочных скриптов (см. п. "Тренировочные задания..." выше).
 

  • 21.11.2024

Координатор make

Написать и отладить простейший мэйкфайл (makefile), осуществляющий сборку и исполнение программы, состоящей по
крайней мере из двух единиц компиляции (содержание программы может быть произвольным). В этом варианте можно не
использовать средства автоматизации.

На примере написанного мэйкфайла изучить алгоритм работы координатора (программы) make. Использовать команду
touch, ключ -n для make и явное (не по умолчанию) указание главной цели (-ей).

Постепенно усложняя написанный мэйкфайл, добавить в него следующие средства автоматизации.

  • Обычные переменные мэйкфайла.
  • Автоматические переменные.
  • Шаблонные правила.
  • Функции манипуляции с текстом wildcard и patsubst. Написать и отладить  вариант мэйкфайла, в котором список объектных файлов,  необходимых для создания исполнимого файла программы, строится автоматически.

Переместить хотя бы одну единицу компиляции в другую директорию. Написать и отладить два варианта мэйкфайла,
правильно собирающего программу, зависящую от единицы или единиц компиляции, не находящихся в текущей
директории. Один вариант —  с использованием функции notdir и переменной VPATH, другой — без использования этих
функции и переменной. Сравнить результаты  работы двух вариантов.

Организовать по крайней мере в одном исходном модуле вызов хотя бы одного include-файла (можно произвольного).
При помощи комбинирования правил учесть в мэйкфайле зависимость соответствующих объектных файлов от
include-файла (-ов).

По желанию, освоить модификацию мэйкфайла для работы с фортрановскими модулями (*.mod).
 

  • 28.11.2024

Управление процессами

Команда ps с различными ключами. Поиск процессов по имени команды. Команда top.

Режимы переднего плана и фоновый. Управление процессами в этих режимах: управляющие комбинации C-c и C-z;
команды jobs, fg, bg.

Управление процессами при помощи команды kill.

Освоение запуска программ под приложением screen.

Архивирование и упаковка файлов.  Команда tar, работа с алгоритмами Lempel-Ziv (LZ77/LZ78) и Burrows-Wheeler.
Упаковщики gzip, bzip2. Архиватор и упаковщик zip.
 

  • 05.12.2024

Сетевые адреса. Установление адресов локальной и удаленных компьютерных систем: работа с командами hostname,
ifconfig, host.

Удаленные команды: ping, ssh (удаленная регистрация) и scp (удаленное копирование). Организация выполненения
программы в удаленной системе; работа в удаленной системе с менеджером screen в комбинации с ssh. Средства
отслеживания удаленной работы других пользователей на локальной системе (last, ps, top).

Работа с URL. Команда wget (удаленное копирование ресурса сети WWW).

Дополнительное время для освоения ранее пройденного материала.

  • 12,19.12.2024

Подготовка к зачету. Очная сдача общей части курса и зачетных программных продуктов (скрипт и makefile).