|
|
## 🧱 Основы системы
|
|
|
|
|
|
### Анкета: Структура файловой системы
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **1. Что такое корневой каталог в Linux и как он обозначается?**
|
|
|
+ A) Домашний каталог текущего пользователя, обозначается `~`
|
|
|
+ B) Каталог для программ администратора, обозначается `/root`
|
|
|
+ C) Главный каталог файловой системы, содержащий всё остальное, обозначается `/`
|
|
|
+ D) Каталог с загрузочными файлами ядра, обозначается `/boot`
|
|
|
|
|
|
+ **2. Для чего в основном используется каталог `/home`?**
|
|
|
+ A) Для хранения общесистемных конфигурационных файлов.
|
|
|
+ B) Для хранения личных файлов и настроек пользователей.
|
|
|
+ C) Для временного хранения файлов удалённых пользователей.
|
|
|
+ D) Для хранения файлов веб-сервера.
|
|
|
|
|
|
+ **3. Каково назначение каталога `/bin`?**
|
|
|
+ A) Это "корзина" для удалённых файлов.
|
|
|
+ B) В нём хранятся двоичные файлы драйверов устройств.
|
|
|
+ C) В нём хранятся все исполняемые файлы системы.
|
|
|
+ D) В нём хранятся основные исполняемые файлы, доступные всем пользователям.
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **4. В чем ключевое различие между каталогами `/bin` и `/sbin`?**
|
|
|
+ A) В `/bin` находятся исполняемые файлы, а в `/sbin` — их исходные коды.
|
|
|
+ B) `/bin` содержит команды для всех пользователей, а `/sbin` — команды, требующие прав суперпользователя (администратора).
|
|
|
+ C) `/bin` — это реальный каталог, а `/sbin` — символическая ссылка на него.
|
|
|
+ D) В `/bin` хранятся 32-битные программы, а в `/sbin` — 64-битные.
|
|
|
|
|
|
+ **5. Какую роль выполняет каталог `/etc`?**
|
|
|
+ A) Хранит исполняемые файлы дополнительных (et cetera) программ.
|
|
|
+ B) Используется для временного хранения электронных текстовых документов.
|
|
|
+ C) Содержит общесистемные конфигурационные файлы.
|
|
|
+ D) Содержит шаблоны для создания домашних каталогов новых пользователей.
|
|
|
|
|
|
+ **6. Что такое Filesystem Hierarchy Standard (FHS)?**
|
|
|
+ A) Утилита для проверки файловой системы на наличие ошибок.
|
|
|
+ B) Стандарт, описывающий структуру каталогов и расположение файлов в UNIX-подобных системах.
|
|
|
+ C) Модуль ядра, отвечающий за поддержку файловых систем, таких как ext4 и XFS.
|
|
|
+ D) Сетевой протокол для организации общего доступа к файлам.
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **7. Какова основная функция каталога `/proc`?**
|
|
|
+ A) Хранение лог-файлов всех системных процессов.
|
|
|
+ B) Хранение предварительно скомпилированного программного кода для ускорения запуска.
|
|
|
+ C) Это защищённый каталог для хранения микрокода процессора.
|
|
|
+ D) Это виртуальная файловая система, предоставляющая доступ к информации о процессах и параметрах ядра.
|
|
|
|
|
|
+ **8. Что такое inode (индексный дескриптор)?**
|
|
|
+ A) Структура данных, хранящая метаданные файла (права доступа, размер, владелец), но не его имя и содержимое.
|
|
|
+ B) Специальный файл, который содержит имя и полный путь к файлу.
|
|
|
+ C) Блок на диске, в котором хранится непосредственно содержимое (данные) файла.
|
|
|
+ D) Запись в системном журнале об операциях, произведенных с файлом.
|
|
|
|
|
|
+ **9. Что означает фундаментальная концепция Linux "всё есть файл"?**
|
|
|
+ A) Все данные на диске, включая свободное пространство, организованы в виде скрытых файлов.
|
|
|
+ B) Все программы в Linux должны быть написаны в виде одного исполняемого файла.
|
|
|
+ C) Ресурсы системы, такие как устройства (диски, терминалы), представляются в файловой системе и с ними можно работать как с файлами.
|
|
|
+ D) Все пользовательские данные должны храниться исключительно в текстовых файлах для универсальности.
|
|
|
|
|
|
---
|
|
|
### Анкета: Права доступа и владение
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **10. Что означают права доступа `rwx` для файла?**
|
|
|
+ A) Read, Write, Execute (Чтение, Запись, Исполнение)
|
|
|
+ B) Read, Watch, Extract (Чтение, Наблюдение, Извлечение)
|
|
|
+ C) Run, Wait, Exit (Запуск, Ожидание, Выход)
|
|
|
+ D) Rewrite, Work, eXamine (Перезапись, Работа, Изучение)
|
|
|
|
|
|
+ **11. Какая команда используется для изменения прав доступа к файлу или каталогу?**
|
|
|
+ A) `chown`
|
|
|
+ B) `chgrp`
|
|
|
+ C) `chmod`
|
|
|
+ D) `access`
|
|
|
|
|
|
+ **12. Для чего предназначена команда `chown`?**
|
|
|
+ A) Для изменения прав доступа.
|
|
|
+ B) Для изменения владельца и/или группы файла.
|
|
|
+ C) Для создания нового владельца в системе.
|
|
|
+ D) Для просмотра текущего владельца файла.
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **13. Какие права доступа устанавливает команда `chmod 755` для файла?**
|
|
|
+ A) `rwxr-xr-x` (владелец может всё, группа и остальные могут читать и исполнять)
|
|
|
+ B) `rwxr-xr--` (владелец может всё, группа может читать и исполнять, остальные только читать)
|
|
|
+ C) `rwx--x--x` (все могут исполнять, но только владелец может читать и писать)
|
|
|
+ D) `rwxrwxrwx` (все могут делать всё)
|
|
|
|
|
|
+ **14. Что означает SUID-бит (Set User ID), установленный на исполняемый файл?**
|
|
|
+ A) Файл может быть запущен только пользователем с указанным ID.
|
|
|
+ B) Файл при запуске выполняется с правами владельца файла, а не пользователя, который его запустил.
|
|
|
+ C) Любой пользователь может сменить владельца этого файла.
|
|
|
+ D) Файл будет автоматически удалён после первого успешного запуска.
|
|
|
|
|
|
+ **15. Что даёт SGID-бит (Set Group ID), установленный на каталог?**
|
|
|
+ A) Только члены группы-владельца могут входить в этот каталог.
|
|
|
+ B) Все новые файлы, созданные в этом каталоге, будут наследовать группу каталога.
|
|
|
+ C) Запрещает создание подкаталогов внутри.
|
|
|
+ D) При входе в каталог первичная группа пользователя временно меняется на группу-владельца каталога.
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **16. Каково назначение "sticky bit" (липкого бита), установленного на каталог (например, `/tmp`)?**
|
|
|
+ A) Файлы в этом каталоге нельзя изменить после создания.
|
|
|
+ B) Каталог нельзя удалить, пока он не пуст.
|
|
|
+ C) Удалить файл в этом каталоге может только владелец файла, владелец каталога или root.
|
|
|
+ D) Все файлы, перемещенные в этот каталог, "прилипают" к нему и не могут быть перемещены.
|
|
|
|
|
|
+ **17. Что такое `umask`?**
|
|
|
+ A) Команда, которая показывает маску подсети для сетевых интерфейсов.
|
|
|
+ B) Маска прав доступа, которая определяет права по умолчанию для вновь создаваемых файлов и каталогов.
|
|
|
+ C) Утилита для скрытия (маскировки) файлов от определённых пользователей.
|
|
|
+ D) Системный параметр, определяющий максимальное количество файлов, которые может создать пользователь.
|
|
|
|
|
|
+ **18. В чем отличие прав доступа символической ссылки от прав её цели?**
|
|
|
+ A) У символических ссылок всегда полные права (`rwxrwxrwx`).
|
|
|
+ B) Права символической ссылки полностью копируются с цели в момент создания.
|
|
|
+ C) Права на символическую ссылку не имеют значения; важны только права на файл, на который она указывает.
|
|
|
+ D) При изменении прав на цель, права на ссылку автоматически меняются.
|
|
|
|
|
|
---
|
|
|
### Анкета: Пользователи и группы
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **19. Кто такой пользователь `root` в Linux?**
|
|
|
+ A) Первый созданный в системе пользователь.
|
|
|
+ B) Пользователь с ограниченными правами.
|
|
|
+ C) Суперпользователь, имеющий полный доступ ко всем файлам и командам.
|
|
|
+ D) Системная учётная запись для запуска служб, не требующих прав.
|
|
|
|
|
|
+ **20. Какая команда используется для добавления нового пользователя в систему?**
|
|
|
+ A) `newuser`
|
|
|
+ B) `adduser` (или `useradd`)
|
|
|
+ C) `personadd`
|
|
|
+ D) `mkuser`
|
|
|
|
|
|
+ **21. В каком файле в основном хранится информация об учётных записях пользователей?**
|
|
|
+ A) `/etc/users`
|
|
|
+ B) `/etc/config`
|
|
|
+ C) `/home/users.list`
|
|
|
+ D) `/etc/passwd`
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **22. Что такое первичная и вторичная группа пользователя?**
|
|
|
+ A) Первичная — для входа в систему, вторичная — для доступа к сети.
|
|
|
+ B) Первичная — группа, с которой создаются файлы по умолчанию; вторичные — предоставляют доп. права доступа.
|
|
|
+ C) Первичная группа имеет ID до 1000, вторичные — после 1000.
|
|
|
+ D) Пользователь может менять свою вторичную группу, но не первичную.
|
|
|
|
|
|
+ **23. Для чего используется команда `sudo`?**
|
|
|
+ A) Для полного переключения на другого пользователя, включая его окружение.
|
|
|
+ B) Для выполнения одной команды с правами другого пользователя (по умолчанию `root`).
|
|
|
+ C) Для просмотра списка всех пользователей в системе.
|
|
|
+ D) Для установки прав `SUID` на файл.
|
|
|
|
|
|
+ **24. Как изменить домашний каталог и оболочку (shell) для уже существующего пользователя?**
|
|
|
+ A) Отредактировав файл `/etc/passwd` вручную.
|
|
|
+ B) С помощью команды `usermod`.
|
|
|
+ C) С помощью команды `useredit`.
|
|
|
+ D) Необходимо удалить пользователя и создать его заново с новыми параметрами.
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **25. Каково назначение оболочки `/sbin/nologin`?**
|
|
|
+ A) Это специальная оболочка для удалённого входа, которая не ведёт лог-файлы.
|
|
|
+ B) Это оболочка, которая немедленно завершает сессию, эффективно запрещая интерактивный вход.
|
|
|
+ C) Оболочка, которая используется по умолчанию, если другая не указана.
|
|
|
+ D) Оболочка с повышенным уровнем безопасности.
|
|
|
|
|
|
+ **26. В чём принципиальное различие между командами `su` и `sudo`?**
|
|
|
+ A) `su` требует пароль целевого пользователя, а `sudo` — пароль текущего пользователя.
|
|
|
+ B) `sudo` позволяет выполнять только одну команду, а `su` открывает полноценную сессию.
|
|
|
+ C) `su` — более старая команда, `sudo` — более новая; функционально они идентичны.
|
|
|
+ D) `sudo` позволяет тонко настраивать, какие именно команды может выполнять пользователь.
|
|
|
|
|
|
+ **27. Что такое UID (User ID) и какое значение имеет UID 0?**
|
|
|
+ A) Уникальный идентификатор пользователя; UID 0 зарезервирован для суперпользователя `root`.
|
|
|
+ B) Уникальный идентификатор диска; UID 0 обозначает системный раздел.
|
|
|
+ C) Индекс пользователя в файле `/etc/passwd`; UID 0 — первая запись.
|
|
|
+ D) Приоритет пользователя в системе; UID 0 имеет самый низкий приоритет.
|
|
|
|
|
|
---
|
|
|
### Анкета: Kernel/userspace взаимодействие (/proc, /sys)
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **28. В чем основное различие между `/proc` и `/sys`?**
|
|
|
+ A) `/proc` используется ядром, а `/sys` — системными службами.
|
|
|
+ B) `/proc` ориентирован на информацию о процессах, тогда как `/sys` представляет иерархию устройств и драйверов.
|
|
|
+ C) Данные в `/proc` можно только читать, а в `/sys` — читать и изменять.
|
|
|
+ D) `/proc` — это реальная файловая система на диске, а `/sys` — виртуальная.
|
|
|
|
|
|
+ **29. Как можно изменить параметр ядра "на лету" (без перезагрузки), используя файловую систему?**
|
|
|
+ A) Записав новое значение в соответствующий файл в `/sys/kernel/`.
|
|
|
+ B) Записав новое значение в соответствующий файл в `/proc/sys/`.
|
|
|
+ C) Изменив конфигурационный файл в `/etc/kernel/` и перезапустив службу ядра.
|
|
|
+ D) С помощью специальной команды `kernel_update`, указав параметр и значение.
|
|
|
|
|
|
+ **30. Что представляет собой `kobject` в контексте `sysfs`?**
|
|
|
+ A) Объект ядра, который представляет собой каталог в `/sys`. Вся иерархия `/sys` построена на них.
|
|
|
+ B) Бинарный файл в `/sys`, содержащий скомпилированный код драйвера.
|
|
|
+ C) Скрипт конфигурации для конкретного объекта ядра.
|
|
|
+ D) Блокировка, которая предотвращает одновременный доступ нескольких процессов к одному файлу в `/sys`.
|
|
|
|
|
|
---
|
|
|
### Анкета: Работа с устройствами (/dev, udev)
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **31. Какова роль каталога `/dev`?**
|
|
|
+ A) В нём содержатся инструменты для разработчиков (development tools).
|
|
|
+ B) Он содержит файлы устройств, которые представляют собой интерфейсы к оборудованию.
|
|
|
+ C) Это основной каталог для хранения драйверов устройств.
|
|
|
+ D) Временный каталог для обмена данными между устройствами.
|
|
|
|
|
|
+ **32. Какова основная задача службы `udev`?**
|
|
|
+ A) Управлять обновлениями (updates) установленных драйверов.
|
|
|
+ B) Динамически создавать и удалять файлы устройств в `/dev` при подключении/отключении оборудования.
|
|
|
+ C) Проверять подлинность устройств, подключаемых к системе.
|
|
|
+ D) Предоставлять универсальный API для доступа к устройствам (Universal Device API).
|
|
|
|
|
|
+ **33. В чем разница между блочным (block) и символьным (character) устройством?**
|
|
|
+ A) Блочные устройства передают данные большими блоками и буферизуются (диски), а символьные — посимвольно (терминал, мышь).
|
|
|
+ B) Блочные устройства нельзя удалить из системы, а символьные можно.
|
|
|
+ C) Блочные устройства находятся в `/dev/block/`, а символьные — в `/dev/char/`.
|
|
|
+ D) Блочные устройства — это физическое оборудование, а символьные — виртуальное.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **34. Что такое правило `udev` и где обычно размещают пользовательские правила?**
|
|
|
+ A) Это скрипт, выполняемый при загрузке системы; размещается в `/etc/udev/init.d`.
|
|
|
+ B) Это файл конфигурации, описывающий, что делать при появлении устройства; размещается в `/etc/udev/rules.d/`.
|
|
|
+ C) Это бинарный файл драйвера; размещается в `/lib/udev/devices/`.
|
|
|
+ D) Это настройка ядра, задающая поведение `udev`; размещается в `/proc/sys/dev/`.
|
|
|
|
|
|
+ **35. Что такое старший (major) и младший (minor) номера файла устройства?**
|
|
|
+ A) Старший номер указывает на версию драйвера, младший — на версию прошивки устройства.
|
|
|
+ B) Старший номер идентифицирует драйвер устройства, а младший — конкретное устройство, управляемое этим драйвером.
|
|
|
+ C) Старший номер — это приоритет устройства, младший — его порт подключения.
|
|
|
+ D) Это серийный номер устройства, разделенный на две части.
|
|
|
|
|
|
+ **36. Каково практическое назначение устройства `/dev/null`?**
|
|
|
+ A) Это "черная дыра": всё, что в него записывается, исчезает, а чтение из него сразу возвращает конец файла.
|
|
|
+ B) Это временное хранилище, которое очищается при перезагрузке.
|
|
|
+ C) Это файл, содержащий список всех неиспользуемых (NULL) устройств.
|
|
|
+ D) Это символическая ссылка на корневой каталог, используемая для отладки.
|
|
|
|
|
|
---
|
|
|
## 💻 Работа с файлами и текстом
|
|
|
|
|
|
### Анкета: Работа с файлами и каталогами
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **37. Какая команда используется для вывода содержимого текущего каталога?**
|
|
|
+ A) `list`
|
|
|
+ B) `dir`
|
|
|
+ C) `ls`
|
|
|
+ D) `show`
|
|
|
|
|
|
+ **38. С помощью какой команды можно создать новый каталог с именем `test`?**
|
|
|
+ A) `newdir test`
|
|
|
+ B) `mkdir test`
|
|
|
+ C) `crdir test`
|
|
|
+ D) `makedir test`
|
|
|
|
|
|
+ **39. Какая команда используется для удаления пустого каталога `mydir`?**
|
|
|
+ A) `del mydir`
|
|
|
+ B) `rm mydir`
|
|
|
+ C) `rmdir mydir`
|
|
|
+ D) `erase mydir`
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **40. Что делает команда `ln -s /path/to/file link_name`?**
|
|
|
+ A) Создаёт жёсткую ссылку на файл.
|
|
|
+ B) Создаёт символическую (мягкую) ссылку на файл.
|
|
|
+ C) Копирует файл с сохранением метаданных.
|
|
|
+ D) Проверяет, существует ли файл.
|
|
|
|
|
|
+ **41. Какая команда найдёт все файлы с расширением `.log` в текущем каталоге и всех его подкаталогах?**
|
|
|
+ A) `grep .log`
|
|
|
+ B) `search *.log`
|
|
|
+ C) `ls -R *.log`
|
|
|
+ D) `find . -name "*.log"`
|
|
|
|
|
|
+ **42. В чем основное отличие жёсткой ссылки от символической?**
|
|
|
+ A) Жёсткая ссылка не может указывать на каталог, а символическая может.
|
|
|
+ B) Жёсткая ссылка указывает на тот же inode, что и оригинал; символическая — это файл с путём к оригиналу.
|
|
|
+ C) Жёсткую ссылку нельзя удалить, пока существует оригинал.
|
|
|
+ D) Символическая ссылка работает быстрее, чем жёсткая.
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **43. Что делает команда `find . -type f -exec chmod 644 {} \;`?**
|
|
|
+ A) Находит все каталоги и меняет их права на 644.
|
|
|
+ B) Находит все файлы и меняет их права на 644, запуская `chmod` для каждого файла отдельно.
|
|
|
+ C) Находит все файлы и передаёт их список в `chmod` одной командой.
|
|
|
+ D) Ищет файлы с правами 644.
|
|
|
|
|
|
+ **44. Для чего используется команда `stat`?**
|
|
|
+ A) Для вывода статистики использования файловой системы.
|
|
|
+ B) Для вывода подробной информации о файле или файловой системе, включая inode, права, временные метки.
|
|
|
+ C) Для отображения статуса системных служб.
|
|
|
+ D) Для статической компиляции программ.
|
|
|
|
|
|
+ **45. Как с помощью `find` и `xargs` удалить все файлы, заканчивающиеся на `.tmp`?**
|
|
|
+ A) `find . -name "*.tmp" | xargs rm`
|
|
|
+ B) `find . -name "*.tmp" -exec rm`
|
|
|
+ C) `xargs rm < find . -name "*.tmp"`
|
|
|
+ D) `rm $(find . -name "*.tmp")`
|
|
|
|
|
|
---
|
|
|
### Анкета: Работа с текстом и потоками (grep, awk, sed, cut, sort, uniq)
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **46. Какая команда выведет все строки из файла `access.log`, содержащие слово "ERROR"?**
|
|
|
+ A) `find "ERROR" access.log`
|
|
|
+ B) `grep "ERROR" access.log`
|
|
|
+ C) `cat access.log | search "ERROR"`
|
|
|
+ D) `text "ERROR" < access.log`
|
|
|
|
|
|
+ **47. Что делает команда `sort file.txt | uniq -c`?**
|
|
|
+ A) Сортирует строки в файле и удаляет дубликаты.
|
|
|
+ B) Сортирует строки, считает количество каждой уникальной строки и выводит результат.
|
|
|
+ C) Считает количество уникальных строк в отсортированном файле.
|
|
|
+ D) Удаляет все строки, кроме уникальных.
|
|
|
|
|
|
+ **48. Как вывести только третье поле из строк файла `data.csv`, где разделителем является запятая?**
|
|
|
+ A) `grep -f3 ',' data.csv`
|
|
|
+ B) `awk -f3 ',' data.csv`
|
|
|
+ C) `cut -d',' -f3 data.csv`
|
|
|
+ D) `sed 's/,/ /3' data.csv`
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **49. Какая команда `sed` заменит первое вхождение "apple" на "orange" в каждой строке файла `fruits.txt`?**
|
|
|
+ A) `sed 's/apple/orange/g' fruits.txt`
|
|
|
+ B) `sed 's/apple/orange/' fruits.txt`
|
|
|
+ C) `sed 'r/apple/orange/' fruits.txt`
|
|
|
+ D) `sed '/apple/orange/' fruits.txt`
|
|
|
|
|
|
+ **50. Какая команда `awk` напечатает второе поле каждой строки, если первое поле равно "user1"?**
|
|
|
+ A) `awk '$1 == "user1" {print $2}'`
|
|
|
+ B) `awk '{if $1 = "user1" print $2}'`
|
|
|
+ C) `awk 'print $2 where $1 == "user1"'`
|
|
|
+ D) `awk '/user1/ {print $2}'`
|
|
|
|
|
|
+ **51. Что делает `grep -E '^(root|admin)' /etc/passwd`?**
|
|
|
+ A) Ищет строки, которые содержат "root" или "admin" в любом месте.
|
|
|
+ B) Ищет строки, которые начинаются со слов "root" или "admin", используя расширенные регулярные выражения.
|
|
|
+ C) Ищет строки, которые заканчиваются на "root" или "admin".
|
|
|
+ D) Ищет файлы с именами `root` или `admin` в каталоге `/etc/passwd`.
|
|
|
|
|
|
---
|
|
|
### Анкета: Перенаправления и пайпы
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **52. Что делает оператор `>` в команде `ls > file.txt`?**
|
|
|
+ A) Добавляет вывод `ls` в конец `file.txt`.
|
|
|
+ B) Считывает ввод для `ls` из `file.txt`.
|
|
|
+ C) Перенаправляет стандартный вывод `ls`, перезаписывая `file.txt`.
|
|
|
+ D) Сравнивает вывод `ls` с содержимым `file.txt`.
|
|
|
|
|
|
+ **53. Что означает символ `|` (пайп) в команде `cat file.txt | grep "word"`?**
|
|
|
+ A) Выполняет обе команды одновременно.
|
|
|
+ B) Передаёт стандартный вывод `cat` на стандартный ввод `grep`.
|
|
|
+ C) Выполняет вторую команду только если первая завершилась успешно.
|
|
|
+ D) Записывает вывод `cat` во временный файл и передаёт его `grep`.
|
|
|
|
|
|
+ **54. В чем разница между `>` и `>>`?**
|
|
|
+ A) `>` работает с текстовыми файлами, `>>` — с бинарными.
|
|
|
+ B) `>` перезаписывает файл, а `>>` добавляет данные в конец файла.
|
|
|
+ C) `>` перенаправляет стандартный вывод, `>>` — стандартную ошибку.
|
|
|
+ D) Разницы нет, это синонимы.
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **55. Что делает конструкция `2> errors.log`?**
|
|
|
+ A) Перенаправляет стандартный вывод (дескриптор 2) в файл.
|
|
|
+ B) Перенаправляет стандартную ошибку (дескриптор 2) в файл.
|
|
|
+ C) Создаёт 2 копии файла `errors.log`.
|
|
|
+ D) Добавляет вывод второй запущенной команды в `errors.log`.
|
|
|
|
|
|
+ **56. Каково назначение команды `tee` в `command | tee file.log`?**
|
|
|
+ A) Выводит результат `command` на экран и одновременно записывает его в `file.log`.
|
|
|
+ B) Записывает результат `command` только в `file.log`, подавляя вывод на экран.
|
|
|
+ C) Фильтрует вывод `command`, оставляя только строки, содержащие `file.log`.
|
|
|
+ D) Ставит выполнение `command` на паузу.
|
|
|
|
|
|
+ **57. Как перенаправить и стандартный вывод, и стандартную ошибку в один файл `all.log`?**
|
|
|
+ A) `command > all.log < all.log`
|
|
|
+ B) `command > all.log 2> all.log`
|
|
|
+ C) `command &> all.log` (или `command > all.log 2>&1`)
|
|
|
+ D) `command | all.log`
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **58. Что такое "here document" (heredoc)?**
|
|
|
+ A) Встроенный в команду файл документации.
|
|
|
+ B) Способ передать многострочный текст на стандартный ввод команды, используя `<<`.
|
|
|
+ C) Специальный файл в `/dev`, который дублирует свой ввод на вывод.
|
|
|
+ D) Скрипт, который документирует сам себя.
|
|
|
|
|
|
+ **59. Что делает конструкция `diff <(sort file1) <(sort file2)`?**
|
|
|
+ A) Сортирует `file1` и `file2` и сохраняет их во временные файлы перед сравнением.
|
|
|
+ B) Сравнивает результат выполнения команд `sort file1` и `sort file2` без создания реальных файлов на диске.
|
|
|
+ C) Сравнивает файлы с именами `<(sort file1)` и `<(sort file2)`.
|
|
|
+ D) Сравнивает `file1` и `file2`, а затем сортирует результат.
|
|
|
|
|
|
+ **60. Что означает команда `exec 3> output.log`?**
|
|
|
+ A) Выполняет команду `3` и перенаправляет её вывод в `output.log`.
|
|
|
+ B) Открывает файл `output.log` для записи под файловым дескриптором 3.
|
|
|
+ C) Запускает 3 копии процесса, пишущего в `output.log`.
|
|
|
+ D) Копирует содержимое дескриптора 3 в `output.log`.
|
|
|
|
|
|
---
|
|
|
### Анкета: Архивация и резервное копирование (tar, gzip, rsync)
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **61. Какая команда создаст архив `archive.tar` из каталога `mydir`?**
|
|
|
+ A) `tar -xvf mydir archive.tar`
|
|
|
+ B) `tar -cvf archive.tar mydir`
|
|
|
+ C) `gzip mydir > archive.tar`
|
|
|
+ D) `archive mydir archive.tar`
|
|
|
|
|
|
+ **62. Как извлечь файлы из архива `archive.tar`?**
|
|
|
+ A) `tar -cvf archive.tar`
|
|
|
+ B) `unzip archive.tar`
|
|
|
+ C) `tar -xvf archive.tar`
|
|
|
+ D) `untar archive.tar`
|
|
|
|
|
|
+ **63. Что делает команда `gzip file.txt`?**
|
|
|
+ A) Создаёт архив `file.txt.zip`.
|
|
|
+ B) Сжимает `file.txt` и заменяет его на `file.txt.gz`.
|
|
|
+ C) Показывает содержимое `file.txt` в сжатом виде.
|
|
|
+ D) Архивирует, но не сжимает `file.txt`.
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **64. Какая команда создаст сжатый gzip-архив `files.tar.gz` из каталога `files`?**
|
|
|
+ A) `tar -cvf files.tar.gz files`
|
|
|
+ B) `tar -czvf files.tar.gz files`
|
|
|
+ C) `tar -c files | gzip > files.tar.gz`
|
|
|
+ D) `gzip -c files > files.tar.gz`
|
|
|
|
|
|
+ **65. Для чего в основном используется утилита `rsync`?**
|
|
|
+ A) Для удалённого выполнения скриптов.
|
|
|
+ B) Для асинхронного копирования файлов.
|
|
|
+ C) Для эффективной синхронизации файлов и каталогов, в том числе по сети.
|
|
|
+ D) Для сжатия файлов в реальном времени.
|
|
|
|
|
|
+ **66. Какой ключ `tar` используется для сжатия с помощью `bzip2`?**
|
|
|
+ A) `-z`
|
|
|
+ B) `-b`
|
|
|
+ C) `-j`
|
|
|
+ D) `-Z`
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **67. Что означает флаг `--delete` в `rsync`?**
|
|
|
+ A) Удалять исходные файлы после успешного копирования.
|
|
|
+ B) Удалять файлы в месте назначения, которых нет в источнике.
|
|
|
+ C) Спрашивать подтверждение перед удалением каждого файла.
|
|
|
+ D) Не копировать файлы, помеченные для удаления.
|
|
|
|
|
|
+ **68. Как создать полную копию диска `/dev/sda` в файл `image.img`?**
|
|
|
+ A) `rsync /dev/sda image.img`
|
|
|
+ B) `cp /dev/sda image.img`
|
|
|
+ C) `dd if=/dev/sda of=image.img`
|
|
|
+ D) `tar -cvf image.img /dev/sda`
|
|
|
|
|
|
+ **69. Какая команда позволит заархивировать удалённый каталог `/var/log` с хоста `server1` в локальный файл `logs.tar`?**
|
|
|
+ A) `tar -cvf logs.tar server1:/var/log`
|
|
|
+ B) `rsync -avz server1:/var/log logs.tar`
|
|
|
+ C) `ssh server1 "tar -c /var/log" > logs.tar`
|
|
|
+ D) `scp server1:/var/log/*.log logs.tar`
|
|
|
|
|
|
---
|
|
|
### Анкета: Компиляция и сборка программ из исходников
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **70. Каков типичный порядок команд для сборки программы из исходного кода?**
|
|
|
+ A) `make` -> `make install` -> `./configure`
|
|
|
+ B) `make install` -> `./configure` -> `make`
|
|
|
+ C) `./configure` -> `make` -> `make install`
|
|
|
+ D) `compile` -> `build` -> `install`
|
|
|
|
|
|
+ **71. Каково назначение скрипта `configure`?**
|
|
|
+ A) Он компилирует исходный код.
|
|
|
+ B) Он устанавливает скомпилированную программу в систему.
|
|
|
+ C) Он проверяет наличие необходимых библиотек и создаёт `Makefile`.
|
|
|
+ D) Он скачивает исходный код программы.
|
|
|
|
|
|
+ **72. Что делает команда `make install`?**
|
|
|
+ A) Скачивает и устанавливает все зависимости.
|
|
|
+ B) Компилирует программу.
|
|
|
+ C) Копирует скомпилированные файлы в системные каталоги (например, `/usr/local/bin`).
|
|
|
+ D) Удаляет временные файлы, созданные во время компиляции.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **73. Для чего используется команда `ldd`?**
|
|
|
+ A) Для загрузки драйверов устройств.
|
|
|
+ B) Для отображения списка динамических библиотек, от которых зависит исполняемый файл.
|
|
|
+ C) Для линковки объектных файлов в исполняемый файл.
|
|
|
+ D) Для вывода логов системного загрузчика.
|
|
|
|
|
|
+ **74. В чем разница между статической и динамической линковкой?**
|
|
|
+ A) Статическая линковка происходит при загрузке системы, динамическая — во время работы программы.
|
|
|
+ B) При статической линковке код библиотек включается в исполняемый файл; при динамической — загружается во время выполнения.
|
|
|
+ C) Статическая линковка используется для скриптов, динамическая — для бинарных файлов.
|
|
|
+ D) Статическая линковка быстрее, но создаёт большие файлы; динамическая — медленнее, но файлы меньше.
|
|
|
|
|
|
+ **75. Какова роль `pkg-config` в процессе сборки?**
|
|
|
+ A) Управляет пакетами программ в системе, аналог `apt` или `yum`.
|
|
|
+ B) Предоставляет компилятору пути к заголовочным файлам и библиотекам установленных пакетов.
|
|
|
+ C) Настраивает конфигурацию ядра для сборки модулей.
|
|
|
+ D) Проверяет целостность скачанных пакетов с исходным кодом.
|
|
|
|
|
|
---
|
|
|
## ⚙️ Процессы и выполнение
|
|
|
|
|
|
Продолжаю.
|
|
|
|
|
|
---
|
|
|
## ⚙️ Процессы и выполнение
|
|
|
|
|
|
### Анкета: Работа с процессами
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **76. Какая команда выводит список запущенных в данный момент процессов?**
|
|
|
+ A) `list proc`
|
|
|
+ B) `ps`
|
|
|
+ C) `proc`
|
|
|
+ D) `top`
|
|
|
|
|
|
+ **77. Что такое PID?**
|
|
|
+ A) Process Priority (Приоритет процесса).
|
|
|
+ B) Parent ID (ID родительского процесса).
|
|
|
+ C) Process ID (Уникальный идентификатор процесса).
|
|
|
+ D) Program ID (Идентификатор программы).
|
|
|
|
|
|
+ **78. Какая команда используется для завершения процесса с известным PID?**
|
|
|
+ A) `stop`
|
|
|
+ B) `exit`
|
|
|
+ C) `end`
|
|
|
+ D) `kill`
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **79. Что делает команда `kill -9 1234`?**
|
|
|
+ A) Вежливо просит процесс с PID 1234 завершиться.
|
|
|
+ B) Принудительно и немедленно завершает процесс с PID 1234 (сигнал SIGKILL).
|
|
|
+ C) Приостанавливает процесс с PID 1234.
|
|
|
+ D) Отправляет процессу с PID 1234 девятое по счёту уведомление.
|
|
|
|
|
|
+ **80. Какая команда покажет дерево процессов (родительские и дочерние)?**
|
|
|
+ A) `ps -tree`
|
|
|
+ B) `pstree` (или `ps axjf`)
|
|
|
+ C) `ls -proc`
|
|
|
+ D) `top -tree`
|
|
|
|
|
|
+ **81. Что означает "зомби-процесс" (zombie process)?**
|
|
|
+ A) Процесс, который потребляет 100% CPU.
|
|
|
+ B) Процесс, который завершился, но его запись в таблице процессов всё ещё существует, так как родительский процесс не считал его код завершения.
|
|
|
+ C) Процесс, который невозможно завершить командой `kill`.
|
|
|
+ D) Скрытый процесс, работающий в фоновом режиме.
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **82. Чем отличается "демон" (daemon) от обычного процесса?**
|
|
|
+ A) Демон всегда запускается от имени `root`.
|
|
|
+ B) Демон — это процесс, работающий в фоновом режиме без привязки к терминалу, обычно для выполнения служебных задач.
|
|
|
+ C) Демон нельзя завершить командой `kill`.
|
|
|
+ D) Демон не имеет PID.
|
|
|
|
|
|
+ **83. Для чего используется команда `pgrep`?**
|
|
|
+ A) Для поиска PID процесса по его имени или другим атрибутам.
|
|
|
+ B) Для приостановки всех процессов, принадлежащих группе.
|
|
|
+ C) Для графического отображения дерева процессов.
|
|
|
+ D) Для изменения приоритета процесса.
|
|
|
|
|
|
+ **84. Что такое PPID?**
|
|
|
+ A) Primary Process ID (PID основного процесса).
|
|
|
+ B) Process Priority ID (ID приоритета процесса).
|
|
|
+ C) Parent Process ID (PID родительского процесса).
|
|
|
+ D) Process Path ID (ID пути к исполняемому файлу процесса).
|
|
|
|
|
|
---
|
|
|
### Анкета: Сигналы и взаимодействие процессов
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **85. Какой сигнал обычно отправляется процессу при нажатии `Ctrl+C` в терминале?**
|
|
|
+ A) `SIGKILL` (9)
|
|
|
+ B) `SIGTERM` (15)
|
|
|
+ C) `SIGHUP` (1)
|
|
|
+ D) `SIGINT` (2)
|
|
|
|
|
|
+ **86. В чем разница между сигналами `SIGTERM` и `SIGKILL`?**
|
|
|
+ A) `SIGTERM` — это запрос на завершение, который процесс может проигнорировать; `SIGKILL` — принудительное завершение, которое нельзя перехватить.
|
|
|
+ B) `SIGKILL` завершает процесс, а `SIGTERM` — только приостанавливает.
|
|
|
+ C) `SIGTERM` используется для системных служб, а `SIGKILL` — для пользовательских приложений.
|
|
|
+ D) Разницы нет, это синонимы.
|
|
|
|
|
|
+ **87. Какой сигнал традиционно используется для того, чтобы демон перечитал свой конфигурационный файл?**
|
|
|
+ A) `SIGSTOP`
|
|
|
+ B) `SIGCONT`
|
|
|
+ C) `SIGHUP`
|
|
|
+ D) `SIGUSR1`
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **88. Для чего предназначена команда `killall`?**
|
|
|
+ A) Для завершения всех процессов в системе.
|
|
|
+ B) Для отправки сигнала всем процессам с указанным именем.
|
|
|
+ C) Для отправки сигнала всем дочерним процессам текущей оболочки.
|
|
|
+ D) Для завершения всех процессов, запущенных текущим пользователем.
|
|
|
|
|
|
+ **89. Что произойдёт с дочерними процессами, если их родительский процесс завершается?**
|
|
|
+ A) Они немедленно завершаются вместе с родителем.
|
|
|
+ B) Они становятся "осиротевшими" и "усыновляются" процессом `init` (PID 1) или его аналогом.
|
|
|
+ C) Они становятся зомби-процессами.
|
|
|
+ D) Они продолжают работать, но больше не могут создавать свои дочерние процессы.
|
|
|
|
|
|
+ **90. Можно ли перехватить или проигнорировать сигнал `SIGKILL`?**
|
|
|
+ A) Да, с помощью системного вызова `signal()`.
|
|
|
+ B) Да, если процесс имеет права `root`.
|
|
|
* C) Нет, этот сигнал обрабатывается непосредственно ядром и не может быть перехвачен процессом.
|
|
|
+ D) Да, но только если процесс запущен с опцией `--ignore-kill`.
|
|
|
|
|
|
---
|
|
|
### Анкета: Сессии, терминалы, pty
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **91. Для чего используется команда `nohup`?**
|
|
|
+ A) Для запуска команды с повышенным приоритетом.
|
|
|
+ B) Для запуска команды, которая продолжит выполняться даже после закрытия терминала.
|
|
|
+ C) Для запуска команды без вывода в консоль.
|
|
|
+ D) Для запрета команде использовать сеть.
|
|
|
|
|
|
+ **92. Что такое `screen` или `tmux`?**
|
|
|
+ A) Утилиты для записи видео с экрана.
|
|
|
+ B) Утилиты для удалённого управления рабочим столом.
|
|
|
+ C) Терминальные мультиплексоры, позволяющие управлять несколькими сессиями терминала в одном окне.
|
|
|
+ D) Драйверы для виртуальных дисплеев.
|
|
|
|
|
|
+ **93. Что представляет собой файл в `/dev/pts/` (например, `/dev/pts/0`)?**
|
|
|
+ A) Файл, представляющий псевдотерминал, связанный с сессией SSH или эмулятором терминала.
|
|
|
+ B) Файл конфигурации для последовательного порта (COM-порта).
|
|
|
+ C) Физический порт на материнской плате.
|
|
|
* D) Драйвер для сенсорного экрана.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **94. В чём разница между сессией (session) и группой процессов (process group)?**
|
|
|
+ A) Сессия — это набор групп процессов, обычно связанных с одним терминалом.
|
|
|
+ B) Сессия — это синоним группы процессов.
|
|
|
+ C) Сессия относится к пользователю, а группа процессов — к программам.
|
|
|
+ D) В сессии может быть только один процесс, в группе — много.
|
|
|
|
|
|
+ **95. Что такое управляющий терминал (controlling terminal) процесса?**
|
|
|
+ A) Терминал, на котором отображается вывод процесса.
|
|
|
+ B) Терминал, с которого процесс был запущен и который может отправлять ему сигналы (например, `Ctrl+C`).
|
|
|
+ C) Терминал, который имеет права на управление этим процессом.
|
|
|
+ D) Главный терминал системы (`/dev/tty1`).
|
|
|
|
|
|
+ **96. Для чего нужен `disown` в `bash`?**
|
|
|
+ A) Чтобы передать владение процессом другому пользователю.
|
|
|
+ B) Чтобы отвязать запущенный в фоне процесс от текущей сессии shell, предотвращая его завершение при выходе.
|
|
|
+ C) Чтобы запретить процессу доступ к файловой системе.
|
|
|
+ D) Чтобы удалить процесс из списка `jobs`.
|
|
|
|
|
|
---
|
|
|
### Анкета: Переменные окружения и shell
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **97. Какая команда выводит значение переменной окружения `HOME`?**
|
|
|
+ A) `print $HOME`
|
|
|
+ B) `var HOME`
|
|
|
+ C) `show $HOME`
|
|
|
+ D) `echo $HOME`
|
|
|
|
|
|
+ **98. Каково назначение переменной `PATH`?**
|
|
|
+ A) Она указывает путь к домашнему каталогу пользователя.
|
|
|
+ B) Она содержит список каталогов, в которых оболочка ищет исполняемые файлы.
|
|
|
+ C) Она хранит путь к текущему рабочему каталогу.
|
|
|
+ D) Она определяет путь для сохранения временных файлов.
|
|
|
|
|
|
+ **99. Как установить переменную окружения `MYVAR` со значением `hello` для текущей сессии и дочерних процессов?**
|
|
|
+ A) `set MYVAR=hello`
|
|
|
+ B) `let MYVAR="hello"`
|
|
|
+ C) `export MYVAR="hello"`
|
|
|
+ D) `env MYVAR="hello"`
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **100. В чем разница между `VAR=value` и `export VAR=value` в `bash`?**
|
|
|
+ A) `export` делает переменную доступной только для чтения.
|
|
|
+ B) `VAR=value` создаёт локальную переменную оболочки; `export` делает её переменной окружения, видимой в дочерних процессах.
|
|
|
+ C) `export` работает только для системных переменных.
|
|
|
* D) Разницы нет, `export` — это устаревший синтаксис.
|
|
|
|
|
|
+ **101. Какой файл обычно используется для установки переменных окружения для всех пользователей при входе в систему?**
|
|
|
+ A) `~/.bashrc`
|
|
|
+ B) `/etc/profile`
|
|
|
+ C) `~/.profile`
|
|
|
+ D) `/etc/environment`
|
|
|
|
|
|
+ **102. Что такое `PS1`?**
|
|
|
+ A) Переменная, определяющая основной системный прокси.
|
|
|
+ B) Переменная, управляющая внешним видом приглашения командной строки.
|
|
|
+ C) Переменная, указывающая на первый скрипт, запускаемый при старте сессии.
|
|
|
+ D) Переменная, хранящая PID текущего процесса оболочки.
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **103. Какая команда выполнит `my_command`, временно установив для неё переменную `DEBUG` в `true`?**
|
|
|
+ A) `export DEBUG=true && my_command`
|
|
|
+ B) `DEBUG=true my_command`
|
|
|
+ C) `my_command --env DEBUG=true`
|
|
|
+ D) `setenv DEBUG=true; my_command`
|
|
|
|
|
|
+ **104. Для чего используется команда `env`?**
|
|
|
+ A) Для редактирования переменных окружения.
|
|
|
+ B) Для вывода списка текущих переменных окружения или запуска команды в изменённом окружении.
|
|
|
+ C) Для загрузки переменных окружения из файла.
|
|
|
+ D) Для шифрования переменных окружения.
|
|
|
|
|
|
+ **105. Что произойдет, если выполнить `(cd /tmp && ls)`?**
|
|
|
+ A) Текущий каталог навсегда изменится на `/tmp`.
|
|
|
+ B) Команды будут выполнены в подоболочке (subshell), поэтому текущий каталог родительской оболочки не изменится.
|
|
|
+ C) Команда `ls` будет выполнена в `/tmp`, но сначала будет запрошено подтверждение.
|
|
|
+ D) Произойдет ошибка синтаксиса.
|
|
|
|
|
|
---
|
|
|
### Анкета: Bash-скрипты
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **106. Что такое "shebang" (шибанг) в скрипте?**
|
|
|
+ A) Комментарий с именем автора скрипта.
|
|
|
+ B) Последняя строка скрипта, возвращающая код завершения.
|
|
|
+ C) Первая строка вида `#!/bin/bash`, указывающая интерпретатор для выполнения скрипта.
|
|
|
+ D) Специальная переменная для хранения аргументов командной строки.
|
|
|
|
|
|
+ **107. Как в bash-скрипте получить первый аргумент, переданный ему при запуске?**
|
|
|
+ A) `$ARG1`
|
|
|
+ B) `$1`
|
|
|
+ C) `%1`
|
|
|
+ D) `$$1`
|
|
|
|
|
|
+ **108. Что проверяет условная конструкция `if [ -f "file.txt" ]`?**
|
|
|
+ A) Что `file.txt` существует и является каталогом.
|
|
|
+ B) Что `file.txt` существует и является обычным файлом.
|
|
|
+ C) Что `file.txt` имеет права на исполнение.
|
|
|
+ D) Что `file.txt` не пустой.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **109. Каково назначение `set -e` в начале bash-скрипта?**
|
|
|
+ A) Включить режим отладки, печатая каждую команду перед выполнением.
|
|
|
+ B) Немедленно завершить выполнение скрипта, если какая-либо команда завершится с ненулевым кодом выхода.
|
|
|
+ C) Запретить использование незаданных переменных.
|
|
|
+ D) Включить расширенный синтаксис (extended mode).
|
|
|
|
|
|
+ **110. Что хранится в переменной `$?`?**
|
|
|
+ A) PID текущего скрипта.
|
|
|
+ B) Количество аргументов, переданных скрипту.
|
|
|
+ C) Код возврата (exit code) последней выполненной команды.
|
|
|
+ D) Имя самого скрипта.
|
|
|
|
|
|
+ **111. В чём разница между одинарными (`'`) и двойными (`"`) кавычками в bash?**
|
|
|
+ A) Одинарные кавычки используются для строк, двойные — для чисел.
|
|
|
+ B) В двойных кавычках происходит подстановка переменных и команд, а в одинарных — нет, текст воспринимается буквально.
|
|
|
+ C) Двойные кавычки быстрее обрабатываются.
|
|
|
+ D) Разницы нет, они взаимозаменяемы.
|
|
|
|
|
|
---
|
|
|
## 🧠 Управление системой
|
|
|
|
|
|
### Анкета: Управление службами и демонами
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **112. Какая команда используется в современных системах с `systemd` для запуска службы `nginx`?**
|
|
|
+ A) `service nginx start`
|
|
|
+ B) `/etc/init.d/nginx start`
|
|
|
+ C) `systemctl start nginx`
|
|
|
+ D) `start nginx`
|
|
|
|
|
|
+ **113. Как проверить статус службы `sshd` с помощью `systemd`?**
|
|
|
+ A) `systemctl status sshd`
|
|
|
+ B) `service sshd status`
|
|
|
+ C) `check sshd`
|
|
|
* D) `systemctl query sshd`
|
|
|
|
|
|
+ **114. Как сделать так, чтобы служба `apache2` автоматически запускалась при загрузке системы?**
|
|
|
+ A) `systemctl boot apache2`
|
|
|
+ B) `systemctl enable apache2`
|
|
|
+ C) `systemctl startup apache2`
|
|
|
+ D) `systemctl on apache2`
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **115. Что такое "юнит" (unit) в `systemd`?**
|
|
|
+ A) Это любой ресурс, которым управляет `systemd` (служба, точка монтирования, устройство и т.д.), описанный в конфигурационном файле.
|
|
|
+ B) Это исполняемый файл службы.
|
|
|
+ C) Это скрипт инициализации в стиле SysVinit.
|
|
|
+ D) Это модуль ядра, необходимый для работы `systemd`.
|
|
|
|
|
|
+ **116. Где обычно располагаются пользовательские unit-файлы `systemd`?**
|
|
|
+ A) `/lib/systemd/system/`
|
|
|
+ B) `/usr/share/systemd/`
|
|
|
+ C) `/etc/systemd/system/`
|
|
|
+ D) `/var/run/systemd/`
|
|
|
|
|
|
+ **117. Какая команда перезагрузит конфигурацию службы, не перезапуская её полностью (если служба это поддерживает)?**
|
|
|
+ A) `systemctl restart`
|
|
|
+ B) `systemctl reload`
|
|
|
+ C) `systemctl update`
|
|
|
+ D) `systemctl refresh`
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **118. Для чего нужен `systemd-analyze`?**
|
|
|
+ A) Для анализа логов, собранных `systemd`.
|
|
|
+ B) Для анализа производительности и времени загрузки системы и отдельных служб.
|
|
|
+ C) Для проверки синтаксиса unit-файлов.
|
|
|
+ D) Для анализа зависимостей между юнитами.
|
|
|
|
|
|
+ **119. Что такое "сокет-активация" (socket activation) в `systemd`?**
|
|
|
+ A) Способ активировать сетевой интерфейс при запуске службы.
|
|
|
+ B) `systemd` слушает сетевой сокет от имени службы и запускает её только при поступлении первого соединения.
|
|
|
+ C) Процесс привязки службы к конкретному IP-адресу и порту.
|
|
|
+ D) Механизм защиты сокетов с помощью файрвола.
|
|
|
|
|
|
+ **120. Как посмотреть все зависимости для юнита `multi-user.target`?**
|
|
|
+ A) `systemctl show-deps multi-user.target`
|
|
|
+ B) `systemctl depends multi-user.target`
|
|
|
+ C) `systemctl list-dependencies multi-user.target`
|
|
|
+ D) `systemctl graph multi-user.target`
|
|
|
|
|
|
---
|
|
|
### Анкета: Запуск и завершение системы (systemd, targets, runlevels)
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **121. Что пришло на смену "уровням запуска" (runlevels) из SysVinit в `systemd`?**
|
|
|
+ A) Цели (targets)
|
|
|
+ B) Службы (services)
|
|
|
+ C) Режимы (modes)
|
|
|
+ D) Состояния (states)
|
|
|
|
|
|
+ **122. Какая цель (target) в `systemd` соответствует многопользовательскому режиму с поддержкой сети, но без графического интерфейса?**
|
|
|
+ A) `graphical.target`
|
|
|
+ B) `network.target`
|
|
|
+ C) `multi-user.target`
|
|
|
+ D) `rescue.target`
|
|
|
|
|
|
+ **123. Как переключиться в режим восстановления (rescue mode) в работающей системе?**
|
|
|
+ A) `systemctl rescue`
|
|
|
+ B) `systemctl isolate rescue.target`
|
|
|
+ C) `reboot --rescue`
|
|
|
+ D) `telinit 1`
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **124. Каков первый процесс, который ядро запускает в пользовательском пространстве в большинстве современных дистрибутивов Linux?**
|
|
|
+ A) `/sbin/init` (который обычно является ссылкой на `systemd`)
|
|
|
+ B) `/bin/bash`
|
|
|
+ C) `/etc/rc.local`
|
|
|
+ D) `/usr/bin/kdm`
|
|
|
|
|
|
+ **125. В чем основная идея параллельного запуска служб в `systemd` в отличие от последовательного в SysVinit?**
|
|
|
+ A) `systemd` запускает службы на разных ядрах процессора.
|
|
|
+ B) `systemd` анализирует зависимости и запускает службы, не зависящие друг от друга, одновременно, ускоряя загрузку.
|
|
|
+ C) `systemd` создаёт копии служб и запускает их параллельно.
|
|
|
+ D) `systemd` использует предзагрузку служб в память.
|
|
|
|
|
|
+ **126. Как изменить цель по умолчанию, в которую загружается система?**
|
|
|
+ A) Отредактировать файл `/etc/inittab`.
|
|
|
+ B) Использовать команду `systemctl set-default graphical.target`.
|
|
|
+ C) Изменить параметр ядра `systemd.default_target=graphical.target`.
|
|
|
+ D) Создать файл `/etc/systemd/default.target`.
|
|
|
|
|
|
---
|
|
|
### Анкета: Планировщики задач (cron, at, systemd timers)
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **127. Какая команда используется для редактирования `crontab` текущего пользователя?**
|
|
|
+ A) `cron -e`
|
|
|
+ B) `crontab -edit`
|
|
|
+ C) `crontab -e`
|
|
|
+ D) `edit cron`
|
|
|
|
|
|
+ **128. Что означает запись `* * * * * command` в `crontab`?**
|
|
|
+ A) Выполнять `command` один раз в час.
|
|
|
+ B) Выполнять `command` каждую минуту.
|
|
|
+ C) Выполнять `command` один раз в день.
|
|
|
+ D) Выполнять `command` при каждой загрузке.
|
|
|
|
|
|
+ **129. Для чего предназначена команда `at`?**
|
|
|
+ A) Для выполнения команды в определённое время в будущем, но только один раз.
|
|
|
+ B) Для измерения времени выполнения другой команды.
|
|
|
+ C) Для повторения команды через заданные интервалы.
|
|
|
+ D) Для просмотра запланированных задач.
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **130. Как будет интерпретироваться запись `0 3 * * 1 /scripts/backup.sh`?**
|
|
|
+ A) Каждый понедельник в 3:00 ночи.
|
|
|
+ B) Первого числа каждого месяца в 3:00 ночи.
|
|
|
+ C) Каждый день в 1:03 ночи.
|
|
|
+ D) Каждый понедельник в полночь и в 3:00.
|
|
|
|
|
|
+ **131. В чем преимущество использования `systemd timers` по сравнению с `cron`?**
|
|
|
+ A) Они имеют более простой синтаксис.
|
|
|
+ B) Они интегрированы с `systemd`, что даёт лучшее логирование и управление зависимостями.
|
|
|
+ C) Они могут запускать задачи чаще, чем раз в минуту.
|
|
|
+ D) Они не требуют прав `root`.
|
|
|
|
|
|
+ **132. Где находится системный `crontab` и файлы для `cron.d`?**
|
|
|
+ A) `/var/cron`
|
|
|
+ B) `/etc/crontab` и `/etc/cron.d/`
|
|
|
+ C) `/usr/lib/cron/`
|
|
|
+ D) `~/.crontab`
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **133. Что такое `anacron`?**
|
|
|
+ A) Альтернативный, более современный планировщик, заменяющий `cron`.
|
|
|
+ B) Планировщик, который выполняет пропущенные задачи `cron` при включении системы, если она была выключена во время их планового запуска.
|
|
|
* C) Утилита для анализа и отладки `crontab`.
|
|
|
+ D) Сетевая версия `cron`.
|
|
|
|
|
|
+ **134. Как запустить скрипт `/opt/cleanup.sh` в 17:00 сегодня с помощью `at`?**
|
|
|
+ A) `at 17:00 < /opt/cleanup.sh`
|
|
|
+ B) `echo "/opt/cleanup.sh" | at 17:00`
|
|
|
+ C) `at run /opt/cleanup.sh at 17:00`
|
|
|
+ D) `at 17:00 -f /opt/cleanup.sh`
|
|
|
|
|
|
+ **135. Что определяет опция `OnCalendar=` в unit-файле `systemd.timer`?**
|
|
|
+ A) Календарь, который нужно использовать для определения даты.
|
|
|
+ B) Время и дату для запуска задачи, аналогично синтаксису `crontab`.
|
|
|
+ C) Дату, когда таймер должен быть автоматически удалён.
|
|
|
+ D) Путь к файлу календаря с событиями.
|
|
|
|
|
|
---
|
|
|
### Анкета: Системные журналы и логи
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **136. Какая команда используется для просмотра логов, собранных `systemd-journald`?**
|
|
|
+ A) `cat /var/log/syslog`
|
|
|
+ B) `logread`
|
|
|
+ C) `journalctl`
|
|
|
+ D) `dmesg`
|
|
|
|
|
|
+ **137. Как с помощью `journalctl` посмотреть логи только от службы `sshd`?**
|
|
|
+ A) `journalctl | grep sshd`
|
|
|
+ B) `journalctl -u sshd`
|
|
|
+ C) `journalctl --unit=sshd`
|
|
|
+ D) `journalctl /units/sshd`
|
|
|
|
|
|
+ **138. Для чего используется `logrotate`?**
|
|
|
+ A) Для просмотра логов в реальном времени.
|
|
|
+ B) Для автоматического управления файлами логов: их ротации, сжатия и удаления.
|
|
|
+ C) Для отправки логов на удалённый сервер.
|
|
|
+ D) Для шифрования лог-файлов.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **139. Что делает команда `journalctl -f`?**
|
|
|
+ A) Форматирует вывод лога в удобном виде.
|
|
|
+ B) Показывает только фатальные (fatal) ошибки.
|
|
|
+ C) Показывает последние записи в журнале и продолжает выводить новые по мере их поступления (аналог `tail -f`).
|
|
|
+ D) Ищет (find) записи по шаблону.
|
|
|
|
|
|
+ **140. В чем ключевое отличие `journald` от традиционного `syslog`?**
|
|
|
+ A) `journald` хранит логи в структурированном бинарном формате, а не в простом тексте.
|
|
|
+ B) `journald` не может отправлять логи по сети.
|
|
|
+ C) `journald` хранит логи только в оперативной памяти.
|
|
|
+ D) `syslog` может собирать логи только от ядра.
|
|
|
|
|
|
+ **141. Какая команда выведет сообщения ядра, записанные с момента последней загрузки?**
|
|
|
+ A) `journalctl -k` (или `dmesg`)
|
|
|
+ B) `journalctl --system`
|
|
|
+ C) `journalctl -p err`
|
|
|
+ D) `cat /var/log/kernel.log`
|
|
|
|
|
|
---
|
|
|
### Анкета: Безопасность и аудит
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **142. Какой файл содержит информацию о том, кто, когда и откуда входил в систему?**
|
|
|
+ A) `/var/log/auth.log` (или `/var/log/secure`)
|
|
|
+ B) `/etc/passwd`
|
|
|
+ C) `~/.bash_history`
|
|
|
+ D) `/var/log/messages`
|
|
|
|
|
|
+ **143. Для чего используется команда `last`?**
|
|
|
+ A) Для просмотра последнего запущенного процесса.
|
|
|
+ B) Для отображения истории последних входов пользователей в систему.
|
|
|
+ C) Для просмотра последней строки в лог-файле.
|
|
|
+ D) Для поиска последнего измененного файла.
|
|
|
|
|
|
+ **144. Где по умолчанию логируются попытки использования `sudo`?**
|
|
|
+ A) В `~/.sudo_history`.
|
|
|
+ B) В `/var/log/sudo.log`.
|
|
|
+ C) В системном журнале, обычно в `/var/log/auth.log` или в журнале `systemd`.
|
|
|
+ D) Логи `sudo` не ведутся по умолчанию.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **145. Что такое `fail2ban`?**
|
|
|
+ A) Утилита для поиска вирусов.
|
|
|
+ B) Файрвол, блокирующий все входящие соединения.
|
|
|
+ C) Служба, которая анализирует логи и блокирует IP-адреса, с которых производятся подозрительные действия (например, подбор пароля).
|
|
|
+ D) Система двухфакторной аутентификации.
|
|
|
|
|
|
+ **146. Для чего предназначена подсистема `auditd`?**
|
|
|
+ A) Для аудита производительности системы.
|
|
|
+ B) Для записи подробной информации о событиях, связанных с безопасностью, на уровне системных вызовов.
|
|
|
+ C) Для проверки целостности системных файлов.
|
|
|
+ D) Для управления пользователями и группами.
|
|
|
|
|
|
+ **147. Что делает команда `ausearch -k mykey`?**
|
|
|
+ A) Ищет в системе ключ шифрования с именем `mykey`.
|
|
|
+ B) Ищет в логах аудита события, помеченные ключом `mykey` в правилах `auditd`.
|
|
|
+ C) Ищет SSH-ключ `mykey`.
|
|
|
+ D) Ищет в логах все события, связанные с нажатием клавиш.
|
|
|
|
|
|
---
|
|
|
### Анкета: Управление доступом (sudo, su, capabilities)
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **148. Какая команда позволяет выполнить `apt update` от имени `root`, не входя в его сессию?**
|
|
|
+ A) `su "apt update"`
|
|
|
+ B) `root apt update`
|
|
|
+ C) `sudo apt update`
|
|
|
+ D) `runas root apt update`
|
|
|
|
|
|
+ **149. В чем разница между `su` и `su -`?**
|
|
|
+ A) `su -` требует пароль, а `su` нет.
|
|
|
+ B) `su` просто меняет пользователя, а `su -` запускает полноценную сессию входа (login shell) с окружением целевого пользователя.
|
|
|
+ C) `su` переключает на `root`, а `su -` — на любого другого пользователя.
|
|
|
+ D) `su -` — это устаревшая форма команды `su`.
|
|
|
|
|
|
+ **150. Какой файл используется для настройки прав `sudo`?**
|
|
|
+ A) `/etc/sudo.conf`
|
|
|
+ B) `/etc/sudoers`
|
|
|
+ C) `/etc/passwd`
|
|
|
+ D) `~/.sudoers`
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **151. Что такое "Linux capabilities"?**
|
|
|
+ A) Список возможностей, которые поддерживает текущая версия ядра.
|
|
|
+ B) Механизм, который делит всемогущество `root` на отдельные привилегии, которые можно назначать процессам.
|
|
|
+ C) Утилита для измерения производительности системы.
|
|
|
+ D) Набор плагинов для расширения функциональности `sudo`.
|
|
|
|
|
|
+ **152. Как разрешить пользователю `user1` выполнять команду `/sbin/reboot` без пароля через `sudo`?**
|
|
|
+ A) Добавить в `/etc/sudoers` строку: `user1 ALL=(ALL) /sbin/reboot`
|
|
|
+ B) Добавить в `/etc/sudoers` строку: `user1 ALL=(ALL) NOPASSWD: /sbin/reboot`
|
|
|
+ C) Добавить `user1` в группу `reboot`.
|
|
|
+ D) Установить SUID-бит на `/sbin/reboot` и сделать `user1` его владельцем.
|
|
|
|
|
|
+ **153. Зачем использовать `visudo` для редактирования `/etc/sudoers`?**
|
|
|
+ A) `visudo` предоставляет графический интерфейс.
|
|
|
+ B) `visudo` автоматически делает резервные копии.
|
|
|
+ C) `visudo` проверяет синтаксис файла перед сохранением, чтобы не заблокировать систему.
|
|
|
+ D) `visudo` позволяет редактировать файл без прав `root`.
|
|
|
|
|
|
---
|
|
|
## 🌐 Сеть и взаимодействие
|
|
|
|
|
|
### Анкета: Настройка физических интерфейсов
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **154. Какая современная команда используется для просмотра IP-адресов на всех интерфейсах?**
|
|
|
+ A) `ifconfig`
|
|
|
+ B) `netstat -i`
|
|
|
+ C) `ip addr show`
|
|
|
+ D) `ipconfig`
|
|
|
|
|
|
+ **155. Как временно добавить IP-адрес `192.168.1.100/24` на интерфейс `eth0`?**
|
|
|
+ A) `ifconfig eth0 add 192.168.1.100/24`
|
|
|
+ B) `ip addr add 192.168.1.100/24 dev eth0`
|
|
|
+ C) `net link add 192.168.1.100/24 dev eth0`
|
|
|
+ D) `echo "192.168.1.100/24" > /sys/class/net/eth0/address`
|
|
|
|
|
|
+ **156. Какая команда покажет текущую таблицу маршрутизации?**
|
|
|
+ A) `ip route show` (или `route -n`)
|
|
|
+ B) `ip forward list`
|
|
|
+ C) `netstat -r`
|
|
|
+ D) `ip gateway list`
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **157. Как изменить MTU (Maximum Transmission Unit) для интерфейса `eth1` на 1492?**
|
|
|
+ A) `ip link set mtu 1492 dev eth1`
|
|
|
+ B) `ip addr change mtu 1492 dev eth1`
|
|
|
+ C) `ifconfig eth1 mtu 1492`
|
|
|
+ D) `ethtool -S eth1 mtu 1492`
|
|
|
|
|
|
+ **158. Что такое `default route` (маршрут по умолчанию)?**
|
|
|
+ A) Маршрут к локальной сети.
|
|
|
+ B) Маршрут, который используется для пакетов, если для их адреса назначения нет более конкретного маршрута в таблице.
|
|
|
+ C) Маршрут к DNS-серверу.
|
|
|
+ D) Первый маршрут, добавляемый в таблицу при загрузке.
|
|
|
|
|
|
+ **159. Какая команда удалит маршрут по умолчанию через шлюз `192.168.1.1`?**
|
|
|
+ A) `ip route flush 192.168.1.1`
|
|
|
+ B) `ip route del default`
|
|
|
+ C) `ip route del 0/0 via 192.168.1.1`
|
|
|
+ D) `route del default gw 192.168.1.1`
|
|
|
|
|
|
---
|
|
|
### Анкета: Настройка виртуальных интерфейсов
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **160. Что такое `bridge` (сетевой мост) в Linux?**
|
|
|
+ A) Виртуальный сетевой интерфейс для соединения двух хостов.
|
|
|
+ B) Виртуальный коммутатор (switch), который объединяет несколько сетевых интерфейсов в один сегмент L2.
|
|
|
+ C) Устройство для преобразования IP-адресов (NAT).
|
|
|
+ D) Тип VPN-туннеля.
|
|
|
|
|
|
+ **161. Для чего используется `bonding` (агрегация каналов)?**
|
|
|
+ A) Для объединения нескольких физических интерфейсов в один логический для повышения отказоустойчивости или пропускной способности.
|
|
|
+ B) Для привязки IP-адреса к MAC-адресу.
|
|
|
+ C) Для создания виртуальных копий одного физического интерфейса.
|
|
|
+ D) Для разделения одного физического интерфейса на несколько виртуальных (VLAN).
|
|
|
|
|
|
+ **162. Что такое пара интерфейсов `veth` (Virtual Ethernet)?**
|
|
|
+ A) Два виртуальных интерфейса, подключенных друг к другу как патч-корд, используемые для соединения сетевых пространств имён (network namespaces).
|
|
|
+ B) Интерфейс для связи виртуальной машины с хостом.
|
|
|
+ C) Виртуальный интерфейс, который отбрасывает весь трафик.
|
|
|
+ D) Интерфейс для создания VLAN.
|
|
|
|
|
|
---
|
|
|
### Анкета: Управление маршрутизацией
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **163. Что такое `policy-based routing`?**
|
|
|
+ A) Маршрутизация на основе политик безопасности файрвола.
|
|
|
+ B) Маршрутизация пакетов на основе правил, которые могут учитывать не только адрес назначения, но и адрес источника, порт и т.д.
|
|
|
+ C) Динамическая маршрутизация с использованием протоколов OSPF или BGP.
|
|
|
+ D) Маршрутизация, которая меняется в зависимости от времени суток.
|
|
|
|
|
|
+ **164. Какая команда используется для управления правилами в `policy-based routing`?**
|
|
|
+ A) `ip route`
|
|
|
+ B) `ip rule`
|
|
|
+ C) `ip policy`
|
|
|
+ D) `iptables -t route`
|
|
|
|
|
|
+ **165. Что делает команда `ip route add 10.0.0.0/8 via 192.168.0.1`?**
|
|
|
+ A) Добавляет маршрут по умолчанию.
|
|
|
+ B) Добавляет маршрут для сети `10.0.0.0/8` через шлюз `192.168.0.1`.
|
|
|
+ C) Добавляет IP-адрес `10.0.0.1` на интерфейс со шлюзом `192.168.0.1`.
|
|
|
+ D) Запрещает весь трафик в сеть `10.0.0.0/8`.
|
|
|
|
|
|
---
|
|
|
### Анкета: Firewall и фильтрация трафика
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **166. Каковы три основные предопределенные цепочки в таблице `filter` `iptables`?**
|
|
|
+ A) `ACCEPT`, `DROP`, `REJECT`
|
|
|
+ B) `IN`, `OUT`, `FORWARD`
|
|
|
+ C) `INPUT`, `OUTPUT`, `FORWARD`
|
|
|
+ D) `PRE_ROUTING`, `POST_ROUTING`, `ROUTING`
|
|
|
|
|
|
+ **167. В чем разница между `DROP` и `REJECT` в `iptables`?**
|
|
|
+ A) `DROP` тихо отбрасывает пакет, `REJECT` отбрасывает и отправляет в ответ сообщение об ошибке (например, `port unreachable`).
|
|
|
+ B) `DROP` блокирует, а `REJECT` перенаправляет трафик.
|
|
|
+ C) `DROP` используется для TCP, `REJECT` — для UDP.
|
|
|
+ D) Разницы нет, это синонимы.
|
|
|
|
|
|
+ **168. Что такое `firewalld`?**
|
|
|
+ A) Старая утилита для управления `iptables`.
|
|
|
+ B) Динамический менеджер файрвола с поддержкой "зон" для управления правилами.
|
|
|
+ C) Аппаратный файрвол для Linux-серверов.
|
|
|
+ D) Утилита для тестирования правил файрвола.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **169. Что такое `nftables`?**
|
|
|
+ A) Новая система фильтрации пакетов, пришедшая на смену `iptables`.
|
|
|
+ B) Таблица в `iptables` для NAT.
|
|
|
+ C) Утилита для создания сетевых туннелей.
|
|
|
+ D) База данных для хранения правил файрвола.
|
|
|
|
|
|
+ **170. Какая цепочка `iptables` обрабатывает пакеты, которые предназначены для самого хоста?**
|
|
|
+ A) `PREROUTING`
|
|
|
+ B) `POSTROUTING`
|
|
|
+ C) `FORWARD`
|
|
|
+ D) `INPUT`
|
|
|
|
|
|
+ **171. Для чего используется `conntrack` (connection tracking)?**
|
|
|
+ A) Для отслеживания маршрутов к другим хостам.
|
|
|
+ B) Для отслеживания состояния сетевых соединений (например, `NEW`, `ESTABLISHED`, `RELATED`), что позволяет создавать stateful-файрвол.
|
|
|
+ C) Для подсчета количества пакетов, проходящих через интерфейс.
|
|
|
+ D) Для отслеживания физических подключений к коммутатору.
|
|
|
|
|
|
---
|
|
|
### Анкета: Диагностика сети
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **172. Какая команда используется для проверки доступности хоста по IP-адресу или имени, отправляя ICMP-запросы?**
|
|
|
+ A) `netstat`
|
|
|
+ B) `traceroute`
|
|
|
+ C) `ping`
|
|
|
+ D) `ss`
|
|
|
|
|
|
+ **173. Для чего нужна утилита `traceroute` (или `tracepath`)?**
|
|
|
+ A) Для отслеживания маршрута (последовательности маршрутизаторов), который проходят пакеты до указанного хоста.
|
|
|
+ B) Для измерения скорости сетевого соединения.
|
|
|
+ C) Для сканирования открытых портов на хосте.
|
|
|
+ D) Для просмотра таблицы маршрутизации.
|
|
|
|
|
|
+ **174. Какая современная команда пришла на смену `netstat` для просмотра сетевых сокетов?**
|
|
|
+ A) `socket`
|
|
|
+ B) `ip socket`
|
|
|
+ C) `nstat`
|
|
|
+ D) `ss`
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **175. Каково назначение `tcpdump`?**
|
|
|
+ A) Для сброса (dump) TCP-соединений.
|
|
|
+ B) Для анализатора сетевого трафика, который позволяет перехватывать и отображать пакеты, проходящие через сетевой интерфейс.
|
|
|
+ C) Для создания TCP-туннелей.
|
|
|
+ D) Для вывода статистики по TCP-протоколу.
|
|
|
|
|
|
+ **176. Что показывает команда `ss -ltn`?**
|
|
|
+ A) Все установленные TCP-соединения.
|
|
|
+ B) Все TCP-сокеты в состоянии прослушивания (LISTEN), с отображением числовых портов и без разрешения имён.
|
|
|
+ C) Все UDP-сокеты.
|
|
|
+ D) Все сетевые туннели.
|
|
|
|
|
|
+ **177. Как с помощью `nmap` проверить, открыт ли TCP-порт 80 на хосте `example.com`?**
|
|
|
+ A) `nmap -p 80 example.com`
|
|
|
+ B) `nmap -check 80 example.com`
|
|
|
+ C) `nmap example.com | grep 80`
|
|
|
+ D) `nmap --port 80 --host example.com`
|
|
|
|
|
|
---
|
|
|
## 💾 Хранилище и файловые системы
|
|
|
|
|
|
### Анкета: Работа с файловыми системами
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **178. Какая команда используется для монтирования файловой системы?**
|
|
|
+ A) `attach`
|
|
|
+ B) `connect`
|
|
|
+ C) `mount`
|
|
|
+ D) `fsck`
|
|
|
|
|
|
+ **179. Каково назначение файла `/etc/fstab`?**
|
|
|
+ A) Он содержит таблицу статических маршрутов.
|
|
|
+ B) Он содержит информацию о файловых системах и их точках монтирования, которые монтируются автоматически при загрузке.
|
|
|
+ C) Это скрипт для проверки файловых систем.
|
|
|
+ D) Он содержит список всех файлов в системе.
|
|
|
|
|
|
+ **180. Что делает команда `umount /mnt/data`?**
|
|
|
+ A) Форматирует устройство, смонтированное в `/mnt/data`.
|
|
|
+ B) Отмонтирует файловую систему от каталога `/mnt/data`.
|
|
|
+ C) Удаляет каталог `/mnt/data`.
|
|
|
+ D) Проверяет файловую систему на ошибки.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **181. Что такое "ленивое" отмонтирование (`umount -l`)?**
|
|
|
+ A) Отмонтирование происходит с задержкой в несколько секунд.
|
|
|
+ B) Файловая система немедленно отсоединяется от иерархии, но остаётся занятой, пока все процессы, использующие её, не завершатся.
|
|
|
+ C) Отмонтируется только часть файловой системы.
|
|
|
+ D) Команда возвращает управление сразу, а отмонтирование происходит в фоновом режиме.
|
|
|
|
|
|
+ **182. Как перемонтировать файловую систему в режим "только для чтения" (read-only)?**
|
|
|
+ A) `mount -o remount,ro /path`
|
|
|
+ B) `remount ro /path`
|
|
|
+ C) `mount --change --readonly /path`
|
|
|
+ D) `fsck -r /path`
|
|
|
|
|
|
+ **183. Что такое `bind mount`?**
|
|
|
+ A) Монтирование файловой системы, защищенной паролем.
|
|
|
+ B) Монтирование одного каталога в другой каталог, делая его содержимое доступным по двум путям.
|
|
|
+ C) Монтирование сетевой файловой системы.
|
|
|
+ D) Монтирование зашифрованного раздела.
|
|
|
|
|
|
---
|
|
|
### Анкета: Работа с памятью и свопом
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **184. Какая команда показывает информацию об использовании оперативной памяти и swap-раздела?**
|
|
|
+ A) `mem`
|
|
|
+ B) `top`
|
|
|
+ C) `free`
|
|
|
+ D) `vmstat`
|
|
|
|
|
|
+ **185. Что такое `swap` (своп) в Linux?**
|
|
|
+ A) Область на диске, используемая как виртуальное расширение оперативной памяти (RAM).
|
|
|
+ B) Быстрый кэш для часто используемых файлов.
|
|
|
+ C) Временный раздел для хранения загрузочных файлов.
|
|
|
+ D) Процесс обмена данными между ядром и пользовательским пространством.
|
|
|
|
|
|
+ **186. Как включить swap-файл `/swapfile`?**
|
|
|
+ A) `swapon /swapfile`
|
|
|
+ B) `mount /swapfile`
|
|
|
+ C) `swap enable /swapfile`
|
|
|
+ D) `mkswap /swapfile && activate`
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **187. Что показывает столбец `buff/cache` в выводе команды `free`?**
|
|
|
+ A) Память, используемую ядром для собственных нужд.
|
|
|
+ B) Память, используемую для дискового кэша (page cache) и буферов, которая может быть освобождена при необходимости.
|
|
|
+ C) Память, которая зарезервирована, но еще не используется.
|
|
|
+ D) Память, выделенную под swap.
|
|
|
|
|
|
+ **188. Для чего используется параметр ядра `swappiness`?**
|
|
|
+ A) Он определяет, насколько "охотно" ядро будет сбрасывать данные из оперативной памяти в swap.
|
|
|
+ B) Он задает максимальный размер swap-раздела.
|
|
|
+ C) Он включает или выключает использование swap.
|
|
|
+ D) Он задает приоритет использования разных swap-разделов.
|
|
|
|
|
|
+ **189. Что такое OOM Killer (Out of Memory Killer)?**
|
|
|
+ A) Утилита для очистки оперативной памяти.
|
|
|
+ B) Механизм ядра, который при нехватке памяти принудительно завершает процессы, чтобы освободить память.
|
|
|
+ C) Вирус, который потребляет всю доступную память.
|
|
|
+ D) Процесс, который отслеживает утечки памяти в приложениях.
|
|
|
|
|
|
---
|
|
|
## 📈 Наблюдение и оптимизация
|
|
|
|
|
|
### Анкета: Мониторинг ресурсов
|
|
|
|
|
|
#### 🟢 Уровень 1: Основы
|
|
|
|
|
|
+ **190. Какая интерактивная утилита в реальном времени показывает список процессов, отсортированных по использованию CPU?**
|
|
|
+ A) `ps`
|
|
|
+ B) `free`
|
|
|
+ C) `top` (или `htop`)
|
|
|
+ D) `df`
|
|
|
|
|
|
+ **191. Какая команда показывает использование дискового пространства файловыми системами?**
|
|
|
+ A) `du`
|
|
|
+ B) `df`
|
|
|
+ C) `ls -l`
|
|
|
+ D) `free`
|
|
|
|
|
|
+ **192. Для чего нужна команда `du -sh /path/to/dir`?**
|
|
|
+ A) Чтобы показать количество файлов в каталоге.
|
|
|
+ B) Чтобы показать права доступа к каталогу.
|
|
|
+ C) Чтобы показать суммарный размер каталога `/path/to/dir` в удобном для чтения формате.
|
|
|
+ D) Чтобы показать свободное место в разделе, где находится каталог.
|
|
|
|
|
|
#### 🟢🟢 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **193. Что такое `iostat`?**
|
|
|
+ A) Утилита для мониторинга статистики ввода-вывода (чтения/записи) для дисковых устройств.
|
|
|
+ B) Утилита для мониторинга состояния сетевых интерфейсов.
|
|
|
+ C) Утилита для вывода информации об inode.
|
|
|
+ D) Утилита для измерения производительности CPU.
|
|
|
|
|
|
+ **194. Какая утилита предоставляет подробную информацию о статистике виртуальной памяти, процессов, прерываний, дискового ввода-вывода и CPU?**
|
|
|
+ A) `free`
|
|
|
+ B) `vmstat`
|
|
|
+ C) `meminfo`
|
|
|
+ D) `cpustat`
|
|
|
|
|
|
+ **195. В чем основное преимущество `htop` перед `top`?**
|
|
|
+ A) `htop` потребляет меньше ресурсов.
|
|
|
+ B) `htop` предустановлен во всех системах.
|
|
|
* C) `htop` предоставляет более удобный и интерактивный интерфейс с цветной подсветкой, прокруткой и управлением процессами.
|
|
|
+ D) `htop` может показывать только процессы текущего пользователя.
|
|
|
|
|
|
#### 🟢🟢🟢 Уровень 3: Эксперт
|
|
|
|
|
|
+ **196. Что означает `wa` (IO-wait) в выводе `top` или `vmstat`?**
|
|
|
+ A) Процент времени, в течение которого CPU простаивал, ожидая завершения операций ввода-вывода.
|
|
|
+ B) Процент времени, потраченный на ожидание ответа от сети.
|
|
|
+ C) Количество процессов, ожидающих своей очереди на выполнение.
|
|
|
+ D) Среднее время ожидания для завершенных процессов.
|
|
|
|
|
|
+ **197. Для чего используется `sar` (System Activity Reporter)?**
|
|
|
+ A) Для сбора, отчета и сохранения информации о системной активности (CPU, память, I/O) за длительный период.
|
|
|
+ B) Для отправки отчетов о сбоях системы разработчикам.
|
|
|
+ C) Для архивации системных логов.
|
|
|
+ D) Для поиска файлов в системе по их активности.
|
|
|
|
|
|
+ **198. Что делает команда `watch df -h`?**
|
|
|
+ A) Делает снимок вывода `df -h` и сохраняет его в файл.
|
|
|
+ B) Запускает `df -h` каждые 2 секунды (по умолчанию) и выводит результат на экран, позволяя наблюдать за изменениями.
|
|
|
+ C) Отслеживает изменения в файловой системе и запускает `df -h` при каждом изменении.
|
|
|
+ D) Запускает `df -h` в фоновом режиме.
|
|
|
|
|
|
---
|
|
|
### Анкета: Производительность
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **199. Что такое `Load Average`?**
|
|
|
+ A) Средняя загрузка процессора в процентах за последние 1, 5 и 15 минут.
|
|
|
+ B) Среднее количество процессов в очереди на выполнение (или ожидающих I/O) за 1, 5 и 15 минут.
|
|
|
+ C) Средняя температура процессора.
|
|
|
+ D) Среднее использование оперативной памяти.
|
|
|
|
|
|
+ **200. Для чего используются команды `nice` и `renice`?**
|
|
|
+ A) Для установки "хорошего" имени для процесса.
|
|
|
+ B) Для изменения приоритета планировщика для новых (`nice`) или уже запущенных (`renice`) процессов.
|
|
|
+ C) Для проверки состояния процесса.
|
|
|
+ D) Для ограничения ресурсов, которые может использовать процесс.
|
|
|
|
|
|
+ **201. Что означает, если `Load Average` на 4-ядерном процессоре равен 4.0?**
|
|
|
+ A) Система перегружена, не хватает ресурсов.
|
|
|
+ B) Система простаивает.
|
|
|
+ C) Все ядра процессора полностью утилизированы, но очереди на выполнение нет.
|
|
|
+ D) Два из четырех ядер полностью загружены.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **202. Какой инструмент позволяет трассировать системные вызовы и сигналы, получаемые процессом?**
|
|
|
+ A) `gdb`
|
|
|
+ B) `ltrace`
|
|
|
+ C) `strace`
|
|
|
+ D) `perf`
|
|
|
|
|
|
+ **203. Для чего используется команда `lsof`?**
|
|
|
+ A) Для вывода списка открытых файлов (List Open Files), включая сетевые сокеты, каналы и т.д.
|
|
|
+ B) Для поиска файлов по их содержимому.
|
|
|
+ C) Для блокировки файла от изменений.
|
|
|
+ D) Для вывода списка "мягких" (символических) ссылок.
|
|
|
|
|
|
+ **204. Что делает команда `dmesg`?**
|
|
|
+ A) Выводит сообщения из буфера сообщений ядра, что полезно для диагностики проблем с оборудованием и драйверами.
|
|
|
+ B) Показывает сообщения, отправленные другим пользователям.
|
|
|
+ C) Выводит отладочную информацию из запущенных приложений.
|
|
|
+ D) Форматирует и выводит системный журнал.
|
|
|
|
|
|
---
|
|
|
## 🧩 Изоляция и управление ресурсами
|
|
|
|
|
|
### Анкета: Namespaces и cgroups
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **205. Что такое `namespaces` (пространства имён) в ядре Linux?**
|
|
|
+ A) Механизм для организации файлов в каталоги.
|
|
|
+ B) Механизм изоляции, который позволяет процессам иметь собственный, отдельный от других, набор глобальных системных ресурсов (например, PID, сеть, точки монтирования).
|
|
|
+ C) Система именования переменных в ядре.
|
|
|
+ D) Способ управления доступом пользователей к файлам.
|
|
|
|
|
|
+ **206. Каково основное назначение `cgroups` (контрольных групп)?**
|
|
|
+ A) Для группировки пользователей с одинаковыми правами.
|
|
|
+ B) Для организации процессов в иерархические группы, а также для ограничения и учёта использования ресурсов (CPU, память, I/O) этими группами.
|
|
|
+ C) Для создания виртуальных сетевых интерфейсов.
|
|
|
+ D) Для контроля версий конфигурационных файлов.
|
|
|
|
|
|
+ **207. Какие два механизма ядра лежат в основе большинства современных систем контейнеризации, таких как Docker?**
|
|
|
+ A) `iptables` и `SELinux`
|
|
|
+ B) `namespaces` и `cgroups`
|
|
|
+ C) `KVM` и `QEMU`
|
|
|
+ D) `systemd` и `udev`
|
|
|
|
|
|
---
|
|
|
### Анкета: Контейнеризация
|
|
|
|
|
|
#### 🟡 Уровень 2: Продвинутый пользователь
|
|
|
|
|
|
+ **208. Что такое `Docker`?**
|
|
|
+ A) Система виртуализации, эмулирующая аппаратное обеспечение.
|
|
|
+ B) Платформа для разработки, доставки и запуска приложений в контейнерах.
|
|
|
+ C) Система управления конфигурациями, аналог Ansible.
|
|
|
+ D) Менеджер пакетов для Linux.
|
|
|
|
|
|
+ **209. В чем ключевое отличие контейнера от виртуальной машины?**
|
|
|
+ A) Контейнер работает быстрее, но менее безопасен.
|
|
|
+ B) Контейнеры виртуализируют операционную систему, используя ядро хоста, а виртуальные машины эмулируют целое аппаратное обеспечение и запускают свою собственную ОС.
|
|
|
+ C) Виртуальные машины используют меньше дискового пространства.
|
|
|
+ D) Контейнеры не могут работать с сетью, в отличие от ВМ.
|
|
|
|
|
|
+ **210. Что такое "образ" (image) в Docker?**
|
|
|
+ A) Запущенный экземпляр контейнера.
|
|
|
+ B) Снимок состояния оперативной памяти контейнера.
|
|
|
+ C) Шаблон только для чтения с инструкциями для создания контейнера.
|
|
|
+ D) Файл резервной копии контейнера.
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **211. Что такое `Podman` и чем он отличается от `Docker`?**
|
|
|
+ A) `Podman` — это графический интерфейс для `Docker`.
|
|
|
+ B) `Podman` — это инструмент для управления контейнерами, который не требует центрального демона и может работать без прав `root`.
|
|
|
+ C) `Podman` — это форк `Docker`, разработанный Microsoft.
|
|
|
+ D) `Podman` используется для оркестрации контейнеров, а `Docker` — для их создания.
|
|
|
|
|
|
+ **212. Что такое `Dockerfile`?**
|
|
|
+ A) Файл журнала работающего контейнера Docker.
|
|
|
+ B) Текстовый файл с инструкциями для автоматической сборки образа Docker.
|
|
|
+ C) Конфигурационный файл для демона Docker.
|
|
|
+ D) Скрипт для запуска контейнера.
|
|
|
|
|
|
+ **213. Какая команда покажет список всех запущенных контейнеров Docker?**
|
|
|
+ A) `docker list`
|
|
|
+ B) `docker ps`
|
|
|
+ C) `docker images`
|
|
|
+ D) `docker top`
|
|
|
|
|
|
---
|
|
|
### Анкета: Виртуализация
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **214. Что такое `KVM` (Kernel-based Virtual Machine)?**
|
|
|
+ A) Полноценный гипервизор, работающий как отдельная ОС.
|
|
|
+ B) Механизм в ядре Linux, который превращает его в гипервизор 1-го типа, используя аппаратную виртуализацию.
|
|
|
+ C) Эмулятор аппаратного обеспечения, работающий в пользовательском пространстве.
|
|
|
+ D) Технология контейнеризации.
|
|
|
|
|
|
+ **215. Какую роль выполняет `QEMU` в связке с `KVM`?**
|
|
|
+ A) `QEMU` управляет сетевыми подключениями для `KVM`.
|
|
|
+ B) `KVM` обеспечивает ускорение, а `QEMU` эмулирует аппаратное обеспечение (диски, сетевые карты и т.д.) для виртуальной машины.
|
|
|
+ C) `QEMU` — это графический интерфейс для `KVM`.
|
|
|
+ D) `QEMU` не используется вместе с `KVM`.
|
|
|
|
|
|
+ **216. Что такое `libvirt`?**
|
|
|
+ A) Драйвер для виртуальных устройств.
|
|
|
+ B) Библиотека и набор инструментов для унифицированного управления различными технологиями виртуализации (`KVM`, `Xen`, `LXC` и др.).
|
|
|
+ C) Файловая система для виртуальных машин.
|
|
|
* D) Протокол для удалённого доступа к виртуальным машинам.
|
|
|
|
|
|
---
|
|
|
### Анкета: Ограничение и распределение ресурсов
|
|
|
|
|
|
#### 🔴 Уровень 3: Эксперт
|
|
|
|
|
|
+ **217. Как с помощью `systemd` ограничить использование памяти для службы `myservice.service` до 500 МБ?**
|
|
|
+ A) Добавить в unit-файл опцию `MemoryLimit=500M`.
|
|
|
+ B) Добавить в unit-файл опцию `MemoryMax=500M`.
|
|
|
+ C) Добавить в unit-файл опцию `MemoryAccounting=true` и `MemoryHigh=500M`.
|
|
|
+ D) Добавить в unit-файл опцию `LimitMEM=500M`.
|
|
|
|
|
|
+ **218. Что делает команда `ulimit -n 1024`?**
|
|
|
+ A) Ограничивает количество процессов до 1024.
|
|
|
+ B) Ограничивает использование памяти до 1024 КБ.
|
|
|
+ C) Ограничивает максимальное количество открытых файловых дескрипторов до 1024 для текущей сессии.
|
|
|
+ D) Ограничивает размер файла до 1024 байт.
|
|
|
|
|
|
+ **219. Какой механизм используется для управления ресурсами, выделенными для службы `systemd` или контейнера `docker`?**
|
|
|
+ A) `nice`
|
|
|
+ B) `ulimit`
|
|
|
+ C) `cgroups` (контрольные группы)
|
|
|
+ D) `namespaces` (пространства имён)
|
|
|
|
|
|
---
|
|
|
|
|
|
## 🔐 Ответы
|
|
|
|
|
|
1. **C**
|
|
|
2. **B**
|
|
|
3. **D**
|
|
|
4. **B**
|
|
|
5. **C**
|
|
|
6. **B**
|
|
|
7. **D**
|
|
|
8. **A**
|
|
|
9. **C**
|
|
|
10. **A**
|
|
|
11. **C**
|
|
|
12. **B**
|
|
|
13. **A**
|
|
|
14. **B**
|
|
|
15. **B**
|
|
|
16. **C**
|
|
|
17. **B**
|
|
|
18. **C**
|
|
|
19. **C**
|
|
|
20. **B**
|
|
|
21. **D**
|
|
|
22. **B**
|
|
|
23. **B**
|
|
|
24. **B**
|
|
|
25. **B**
|
|
|
26. **D**
|
|
|
27. **A**
|
|
|
28. **B**
|
|
|
29. **B**
|
|
|
30. **A**
|
|
|
31. **B**
|
|
|
32. **B**
|
|
|
33. **A**
|
|
|
34. **B**
|
|
|
35. **B**
|
|
|
36. **A**
|
|
|
37. **C**
|
|
|
38. **B**
|
|
|
39. **C**
|
|
|
40. **B**
|
|
|
41. **D**
|
|
|
42. **B**
|
|
|
43. **B**
|
|
|
44. **B**
|
|
|
45. **A**
|
|
|
46. **B**
|
|
|
47. **B**
|
|
|
48. **C**
|
|
|
49. **B**
|
|
|
50. **A**
|
|
|
51. **B**
|
|
|
52. **C**
|
|
|
53. **B**
|
|
|
54. **B**
|
|
|
55. **B**
|
|
|
56. **A**
|
|
|
57. **C**
|
|
|
58. **B**
|
|
|
59. **B**
|
|
|
60. **B**
|
|
|
61. **B**
|
|
|
62. **C**
|
|
|
63. **B**
|
|
|
64. **B**
|
|
|
65. **C**
|
|
|
66. **C**
|
|
|
67. **B**
|
|
|
68. **C**
|
|
|
69. **C**
|
|
|
70. **C**
|
|
|
71. **C**
|
|
|
72. **C**
|
|
|
73. **B**
|
|
|
74. **B**
|
|
|
75. **B**
|
|
|
76. **B**
|
|
|
77. **C**
|
|
|
78. **D**
|
|
|
79. **B**
|
|
|
80. **B**
|
|
|
81. **B**
|
|
|
82. **B**
|
|
|
83. **A**
|
|
|
84. **C**
|
|
|
85. **D**
|
|
|
86. **A**
|
|
|
87. **C**
|
|
|
88. **B**
|
|
|
89. **B**
|
|
|
90. **C**
|
|
|
91. **B**
|
|
|
92. **C**
|
|
|
93. **A**
|
|
|
94. **A**
|
|
|
95. **B**
|
|
|
96. **B**
|
|
|
97. **D**
|
|
|
98. **B**
|
|
|
99. **C**
|
|
|
100. **B**
|
|
|
101. **B**
|
|
|
102. **B**
|
|
|
103. **B**
|
|
|
104. **B**
|
|
|
105. **B**
|
|
|
106. **C**
|
|
|
107. **B**
|
|
|
108. **B**
|
|
|
109. **B**
|
|
|
110. **C**
|
|
|
111. **B**
|
|
|
112. **C**
|
|
|
113. **A**
|
|
|
114. **B**
|
|
|
115. **A**
|
|
|
116. **C**
|
|
|
117. **B**
|
|
|
118. **B**
|
|
|
119. **B**
|
|
|
120. **C**
|
|
|
121. **A**
|
|
|
122. **C**
|
|
|
123. **B**
|
|
|
124. **A**
|
|
|
125. **B**
|
|
|
126. **B**
|
|
|
127. **C**
|
|
|
128. **B**
|
|
|
129. **A**
|
|
|
130. **A**
|
|
|
131. **B**
|
|
|
132. **B**
|
|
|
133. **B**
|
|
|
134. **B**
|
|
|
135. **B**
|
|
|
136. **C**
|
|
|
137. **B**
|
|
|
138. **B**
|
|
|
139. **C**
|
|
|
140. **A**
|
|
|
141. **A**
|
|
|
142. **A**
|
|
|
143. **B**
|
|
|
144. **C**
|
|
|
145. **C**
|
|
|
146. **B**
|
|
|
147. **B**
|
|
|
148. **C**
|
|
|
149. **B**
|
|
|
150. **B**
|
|
|
151. **B**
|
|
|
152. **B**
|
|
|
153. **C**
|
|
|
154. **C**
|
|
|
155. **B**
|
|
|
156. **A**
|
|
|
157. **A**
|
|
|
158. **B**
|
|
|
159. **B**
|
|
|
160. **B**
|
|
|
161. **A**
|
|
|
162. **A**
|
|
|
163. **B**
|
|
|
164. **B**
|
|
|
165. **B**
|
|
|
166. **C**
|
|
|
167. **A**
|
|
|
168. **B**
|
|
|
169. **A**
|
|
|
170. **D**
|
|
|
171. **B**
|
|
|
172. **C**
|
|
|
173. **A**
|
|
|
174. **D**
|
|
|
175. **B**
|
|
|
176. **B**
|
|
|
177. **A**
|
|
|
178. **C**
|
|
|
179. **B**
|
|
|
180. **B**
|
|
|
181. **B**
|
|
|
182. **A**
|
|
|
183. **B**
|
|
|
184. **C**
|
|
|
185. **A**
|
|
|
186. **A**
|
|
|
187. **B**
|
|
|
188. **A**
|
|
|
189. **B**
|
|
|
190. **C**
|
|
|
191. **B**
|
|
|
192. **C**
|
|
|
193. **A**
|
|
|
194. **B**
|
|
|
195. **C**
|
|
|
196. **A**
|
|
|
197. **A**
|
|
|
198. **B**
|
|
|
199. **B**
|
|
|
200. **B**
|
|
|
201. **C**
|
|
|
202. **C**
|
|
|
203. **A**
|
|
|
204. **A**
|
|
|
205. **B**
|
|
|
206. **B**
|
|
|
207. **B**
|
|
|
208. **B**
|
|
|
209. **B**
|
|
|
210. **C**
|
|
|
211. **B**
|
|
|
212. **B**
|
|
|
213. **B**
|
|
|
214. **B**
|
|
|
215. **B**
|
|
|
216. **B**
|
|
|
217. **A**
|
|
|
218. **C**
|
|
|
219. **C**
|