Описание курса:

В целом, курс будет полезен для всех IT-специалистов. Однако в первую очередь рекомендуем прочитать данный материал тем, кто хочет стать Linux-инженером или Python-разработчиком, потому что бэкэнд разработка без понимания Linux почти невозможна и практически все решения хостятся на Unix-системах или так или иначе взаимодействуют с ними. Данный курс даст базовое представление об архитектуре Linux-систем, а также о компонентах, которые включены в экосистему Linux. Удачного чтения!

Вопросы для самопроверки:

Сомневаешься, будет ли тебе полезен материал курса, или хочешь убедиться, что усвоил материал курса? Проверь свои знания с помощью вопросов для самопроверки по материалам курса.

  1. Какие операционные системы на основе ядра Linux являются наиболее востребованными?
  2. Почему коммерческие версии Unix оказались ограничены в развитии?
  3. Как проект GNU повлиял на развитие дистрибутивов Linux?
  4. Почему ядро Linux считается важным, но недостаточным компонентом для полной ОС?
  5. В каких областях чаще всего используются системы GNU/Linux на сегодняшний день?
  6. Как переводится аббревиатура GPL на русский язык?
  7. Для чего используются трансляторы в процессе разработки программного обеспечения?
  8. Какое влияние оказало закрытие исходных кодов программ на развитие компьютерной науки?
  9. Кто был одним из видных противников закрытия исходных кодов и что он предложил?
  10. Каковы основные гарантии, которые получают разработчики, использующие GNU GPL для своих программ?
  11. Какие преимущества предоставляет свободное программное обеспечение с открытым исходным кодом?
  12. Какая главная функция ядра операционной системы?
  13. На какие типы подразделяются ядра операционной системы?
  14. Что такое POSIX-стандарты?
  15. Почему Linux, с технической точки зрения, не считается операционной системой?
  16. Какие преимущества даёт возможность конфигурирования ядра Linux?
  17. Какой каталог является корневым в файловой структуре Linux?
  18. Как называется стандарт, определяющий структуру файловой системы в Linux?
  19. В каком каталоге размещаются файлы пользователей в Linux?
  20. Какие права у системного администратора в системе Linux?
  21. Какие файлы можно найти в каталоге /etc?
  22. Какую функцию выполняет каталог /tmp?
  23. Что общего имеют каталоги /sys, /proc, и /run в файловой структуре Linux?
  24. Почему в Unix-подобных системах расширение файла не играет роли?
  25. Перечислите основные типы файлов в GNU/Linux.
  26. Как обозначаются обычные файлы в системе GNU/Linux?
  27. Какая функция у символьных ссылок в Linux?
  28. Как различаются символьные и блочные устройства в GNU/Linux?
  29. В чем основное различие между каналами и сокетами?
  30. Чем отличается интерфейс командной строки (CLI) от графического интерфейса (GUI)?
  31. Какие особенности CLI делают его более предпочтительным в некоторых случаях по сравнению с GUI?
  32. Какой программой чаще всего реализуется интерфейс командной строки в ОС на базе ядра Linux?
  33. Какой символ в приглашении командной строки указывает на работу под непривилегированным пользователем?
  34. Какая команда используется для изменения прав доступа к файлу в Bash?
  35. Что необходимо сделать для выполнения программы, если она находится в каталоге, не указанном в $PATH?
  36. Какой язык программирования включает в себя Bash, помимо командной оболочки?
  37. Что понимается под параметрами в контексте команд Bash?
  38. Какие действия выполняют аргументы (операнды) в командной строке Bash?
  39. Как изменяют поведение программы ключи (опции) в Bash?
  40. Можно ли комбинировать ключи в одной команде?
  41. Приведи пример команды Bash, выполнение которой не имеет смысла без параметров.
  42. Какие клавиши используются для завершения работы программы на переднем плане в терминале?
  43. Какой эффект оказывает Ctrl + Z на процесс в системе?
  44. Какую команду необходимо использовать для возобновления приостановленного процесса в фоновом режиме?
  45. Для чего используется команда ps в Bash?
  46. Какой параметр используется с командой kill для полного завершения процесса?
  47. Как обозначаются комбинации клавиш с Ctrl в большинстве консольных приложений?
  48. Какую клавишу нужно нажать, чтобы просмотреть ранее введённые команды в Bash?
  49. Как предотвратить сохранение команды в историю перед её вводом?
  50. Для чего используется клавиша Tab в Bash?
  51. Как Bash позволяет просмотреть все возможные варианты команд или файлов, если не удаётся определить их однозначно?
  52. Что происходит при нажатии сочетания клавиш Ctrl + U в командной строке Bash?
  53. Какое действие выполняет сочетание клавиш Ctrl + W в Bash?
  54. Что происходит, если в файловых менеджерах Linux нажать Ctrl + H?
  55. Что такое стандартный ввод и стандартный вывод в Bash?
  56. Какая команда используется, чтобы перенаправить вывод команды в файл?
  57. Чем отличается использование ">" от ">>" при перенаправлении вывода в файл?
  58. Какая команда используется для поиска строк в наборе данных?
  59. Что необходимо сделать для выполнения заранее подготовленного набора команд в Bash?
  60. Какую функцию выполняют man-страницы в дистрибутивах GNU/Linux?
  61. Как открыть man-страницу для команды?
  62. Какие клавиши используются для навигации по man-страницам?
  63. Какой альтернативный вариант документации команд Linux существует, кроме man-страниц?
  64. Какую опцию поддерживают почти все команды для вывода краткой справки?
  65. Какую команду следует использовать для перехода в другую директорию в Bash?
  66. В чем разница между абсолютной и относительной адресацией в Bash?
  67. Как обозначается домашний каталог пользователя в адресации?
  68. Куда приведет выполнение команды cd ../.. из домашней папки?
  69. Какая основная команда используется в Linux командной строке для отображения содержимого директорий и получения информации о файлах?
  70. Какой ключ команды ls позволяет увидеть детализированную информацию об объектах?
  71. Какой ключ команды ls стоит использовать, чтобы отображать скрытые файлы и текущие расположения?
  72. Какой ключ команды ls помогает просматривать вложенные каталоги?
  73. Какой командой в Bash можно копировать директорию вместе с ее содержимым?
  74. Какое отличие между переименованием и перемещением файлов в Bash?
  75. Как создать новый пустой файл в Linux?
  76. Какая команда используется в Linux для создания нового каталога?
  77. Какая команда применяется для удаления файлов в Linux?
  78. Что такое индексный дескриптор в операционных системах на ядре Linux?
  79. Может ли файл в Linux иметь несколько жестких ссылок?
  80. Что происходит с файлом в Linux, если удалить все его жесткие ссылки?
  81. Чем отличаются символьные ссылки от жестких в Linux?
  82. В чем разница между копированием файла и созданием жесткой ссылки?
  83. Что представляет собой мягкая (символьная) ссылка в Linux?
  84. Какая команда в Linux используется для создания жесткой ссылки на существующий файл?
  85. Каким ключом сопровождается команда ln при создании символьной ссылки?
  86. Какой командой можно проверить наличие дополнительных жестких или символьных ссылок на файл?
  87. Какие три категории пользователей выделяются в Linux для определения прав доступа к файлам?
  88. Какие основные действия можно совершать с файлом по правам доступа в Linux?
  89. Что обозначает буквенная запись прав доступа rwxrwxrwx в контексте прав пользователей?
  90. Как права доступа выражаются с помощью чисел и что обозначает запись 110100100? 755?
  91. Какие ключевые элементы можно использовать вместе с командой chmod?
  92. Что означает рекурсивное назначение прав в каталоге при помощи команды chmod?
  93. Каким образом можно изменить права для владельца, группы и других пользователей одним числом?
  94. Как отличается применение команды chmod при назначении прав для файлов и каталогов?
  95. Для чего используется t-бит при установке прав доступа к директории?
  96. Какую роль выполняют шаблоны в командных оболочках Linux?
  97. Какие основные специальные символы используются для задания шаблонов имен файлов в Bash?
  98. Какие команды в Bash используют именные шаблоны?
  99. Как называется утилита командной строки в Unix-подобных системах для поиска файлов?
  100. Какие атрибуты файлов могут использоваться для поиска, помимо имени?
  101. Какие параметры необходимо указать при использовании команды find для простого поиска?
  102. Почему шаблоны при задании поиска в команде find нужно заключать в кавычки?
  103. Каким ключом воспользоваться, чтобы выполнить действие с найденными файлами?
  104. Какое отличие в синтаксисе имеет утилита find по сравнению со стандартами Bash?
  105. Как называется учетная запись суперпользователя в системах на базе Unix?
  106. Какие задачи может выполнять суперпользователь в системах Unix?
  107. Какую утилиту в основном используют для администрирования Linux в современных системах вместо прямого использования root?
  108. Что произойдет, если ввести команду rm -rf / от имени суперпользователя?
  109. Для чего необходимо вводить пользовательский пароль при использовании команды sudo?
  110. Как вернуться в обычный режим из оболочки суперпользователя с помощью командной строки?
  111. Что подразумевается под термином "пакетные менеджеры" в контексте операционных систем?
  112. Какую роль выполняет пакетный менеджер при установке программного обеспечения?
  113. В чем разница между apt и apt-get?
  114. Какие аргументы передаются программе apt для установки, удаления или обновления пакетов?
  115. Как можно найти точное имя пакета, если оно неизвестно, с помощью утилиты apt?
  116. Опиши процесс установки пакета с использованием команды apt install.

Программа курса:

  1. Описание курса
  2. История операционной системы Linux
  3. Основы лицензии GNU GPL и её преимущества
  4. Функции и структура ядра Linux-систем
  5. Структура и каталоги файловой системы Linux
  6. Основные типы файлов в системе Linux
  7. Интерфейс командной строки в Linux
  8. Командная оболочка Bash в Linux
  9. Использование параметров команд в Bash
  10. Использование Ctrl+C, Ctrl+D и Ctrl+Z
  11. Автодополнение и история команд в Bash
  12. Перенаправление ввода и вывода в Bash
  13. Документация Linux и Man-страницы
  14. Абсолютная и относительная адресация в Linux
  15. Команда ls - как просматривать каталоги в Linux
  16. Копирование, перемещение и удаление в Linux
  17. Жесткие и символьные ссылки в Linux
  18. Создание жестких и символических ссылок в Linux
  19. Права доступа к файлам и каталогам в Linux
  20. Изменение прав доступа к файлам с помощью chmod
  21. Использование шаблонов имен файлов в Linux
  22. Поиск файлов в Linux с помощью команды find
  23. Использование команды sudo в Linux
  24. Управление пакетами с помощью APT в Linux