Понад 30 запитань і відповідей на співбесіді з Linux [2023]

Зміст

Операційна система Linux: шлях від хобі до лідера технологічного світу

Попри те, що Linux почав свій шлях у 1991 році як особистий проєкт Лінуса Торвальдса, сьогодні він є домінуючою силою, що керує суперкомп’ютерами, веб-серверами, смартфонами та безліччю інших технологічних пристроїв.

Стабільність, безпека та ефективне використання ресурсів – це ключові переваги, які роблять Linux таким популярним. З часом попит на Linux постійно зростає, і ця тенденція, ймовірно, збережеться й у майбутньому.

Статистичні дані 2021 року від Statista свідчать, що 47% професійних розробників використовують Linux. Того ж року 9-й щорічний звіт про вакансії з відкритим кодом підтвердив, що навички розробки та адміністрування Linux займають друге місце за затребуваністю серед менеджерів та розробників.

Вміння працювати з Linux є надзвичайно важливими для різних галузей, таких як розробка програмного забезпечення, системне адміністрування, DevOps, мережеве адміністрування, інженерія безпеки та аналіз даних. Отже, якщо вас цікавить будь-яка з цих сфер, велика ймовірність, що ваші навички роботи з Linux будуть перевірятися на співбесіді.

Для того, щоб допомогти вам підготуватися до майбутньої співбесіди, ми зібрали список найпоширеніших питань щодо Linux, з якими ви можете зіткнутися, а також підготували відповіді на них.

Що таке Linux?

Відповідь: Linux – це безкоштовна операційна система з відкритим кодом. Її розробка почалася в 1991 році завдяки ініціативі Лінуса Торвальдса, і вона поширюється під ліцензією GNU General Public License (GPL).

Навіщо використовувати Linux?

Відповідь: Операційна система Linux має ряд переваг. Насамперед, Linux відзначається високим рівнем безпеки, майже повністю захищеною від шкідливих програм.

Крім того, Linux є дуже стабільною і надійною системою, з рідкісними випадками збоїв, що робить її ідеальним вибором для серверів. Ще однією перевагою Linux є її легкість і економія ресурсів, що дозволяє використовувати її навіть на застарілих комп’ютерах.

Linux є безкоштовною операційною системою з відкритим вихідним кодом, яка регулярно оновлюється та має широкі можливості налаштування, що дозволяє користувачам змінювати будь-які її аспекти відповідно до власних потреб. Існує також багато різновидів дистрибутивів, які адаптовані для різних цілей, як-от для хакерів, програмістів або звичайних користувачів.

Які основні компоненти ОС Linux?

Відповідь: ОС Linux складається з трьох основних компонентів.

  • Ядро: Це найважливіший елемент ОС Linux. Воно є найнижчим рівнем системи та безпосередньо взаємодіє з апаратним забезпеченням комп’ютера. Ядро відповідає за розподіл і управління апаратними ресурсами, такими як процесор, пам’ять та накопичувачі, а також надає сервіси іншим частинам ОС і програмам.
  • Оболонка: Це інтерфейс командного рядка, який дозволяє користувачам спілкуватися з операційною системою та запускати програми. Вона виступає посередником між користувачами та ядром. Оболонка аналізує команди, які вводять користувачі, і виконує їх.
  • Програми: Це програмне забезпечення, що працює на базі операційної системи та виконує різні функції, наприклад, перегляд веб-сторінок, обробка тексту та відтворення мультимедіа.

Ядро, оболонка та програми є основними компонентами, що складають операційну систему Linux.

Чому Linux вважають більш безпечною?

Відповідь: Однією з основних причин високої безпеки Linux є її відкритий вихідний код. Велика спільнота розробників постійно перевіряє код Linux, і будь-які виявлені помилки або вразливості оперативно обговорюються та усуваються протягом кількох днів.

Крім того, система управління дозволами та привілеями в Linux забезпечує, що кореневий доступ за замовчуванням не надається звичайним користувачам.

Це знижує потенційний збиток від вірусів. Низький рівень популярності серед звичайних користувачів також сприяє безпеці, оскільки хакери частіше орієнтуються на операційні системи з більшою кількістю користувачів.

Що таке ядро ​​Linux?

Відповідь: Ядро є найнижчим рівнем операційної системи Linux та її основним компонентом. Воно розташоване між апаратним забезпеченням та іншими частинами ОС Linux. Ядро взаємодіє з апаратним забезпеченням комп’ютера та управляє апаратними ресурсами, такими як пам’ять, процесор та дисковий простір.

Воно також гарантує, що різні завдання та процеси отримують необхідні ресурси для ефективної та безперебійної роботи.

Яка різниця між Linux і Unix?

Відповідь: Linux є безкоштовною операційною системою з відкритим вихідним кодом, створеною Лінусом Торвальдсом, тоді як Unix — це портативна, пропрієтарна, багатозадачна та багатокористувацька операційна система, розроблена AT&T. На відміну від Linux, Unix не має відкритого коду.

Що таке GUI?

Відповідь: Графічний інтерфейс користувача (GUI) – це спосіб взаємодії з операційною системою за допомогою графічних елементів, таких як вікна, значки, меню, покажчики та смуги прокрутки.

Керування графічними елементами здійснюється за допомогою пристроїв введення, таких як миша, стилус, трекбол або дотик на сенсорних екранах.

Що таке CLI?

Відповідь: Інтерфейс командного рядка (CLI) — це текстовий інтерфейс користувача, який дозволяє взаємодіяти з комп’ютерною системою, вводячи команди у вигляді текстових рядків у терміналі.

Комп’ютерна система реагує на введені команди, виконуючи їх або відображаючи відповідну інформацію.

Поясніть оболонку Linux.

Відповідь: Оболонка Linux — це програма, яка аналізує та виконує команди, введені через інтерфейс командного рядка, що дозволяє користувачам взаємодіяти з ОС та керувати своїми комп’ютерами.

Оболонка отримує команди у зручному для читання форматі, перетворює їх у форму, зрозумілу ядру, і передає їх ядру для виконання.

Типи оболонок в Linux.

Відповідь: У Linux існує кілька типів оболонок, кожна з яких має свої особливості та оптимізована для конкретних цілей. Ось деякі з них:

  • Оболонка Борна (sh)
  • Bourne Again Shell (Bash)
  • C Shell (csh)
  • KornShell (ksh)
  • Z Shell (zsh)
  • Friendly Interactive Shell (fish)
  • Debian Almquist Shell (dash)
  • TENEX C Shell (tcsh)

Вище наведено приклади деяких найпопулярніших оболонок Linux.

Що таке сценарій оболонки?

Відповідь: Це текстовий файл, що містить послідовність команд, які оболонка Linux має виконати в заданому порядку.

Сценарії оболонки дозволяють автоматизувати повторювані завдання або виконувати їх у пакетному режимі. Вони містять команди, які в іншому випадку довелося б вводити в інтерфейс командного рядка по одній.

Поясніть дозволи на файли в Linux.

Відповідь: В Linux існує три типи дозволів на файли:

  • Читання (r): Цей дозвіл дає користувачеві можливість переглядати вміст файлу або каталогу. Однак він не дозволяє змінювати файл або вміст каталогу.
  • Запис (w): Цей дозвіл дозволяє змінювати вміст файлу. Щодо каталогів, дозвіл на запис дає можливість додавати, видаляти та перейменовувати файли.
  • Виконання (x): Цей дозвіл дає можливість запускати файл як програму. В Linux користувач не може запустити програму, не маючи дозволу на виконання.

Вище наведено основні типи дозволів для файлів в операційній системі Linux.

Як надати дозволи в Linux?

Відповідь: Для надання дозволів в Linux використовується команда chmod, що означає “змінити режим”. Ця команда дозволяє змінювати права доступу до файлу або каталогу.

Дозволи можуть бути надані для різних груп користувачів: групи (g), користувача (u), інших (o) та всіх (a). Дозволи для цих груп можна змінювати, додаючи (+) або віднімаючи (-) дозволи на читання (r), запис (w) та виконання (x).

Синтаксис команди для зміни дозволів має такий вигляд:

chmod permissions file/directory-name

Як знайти, де зберігається файл у Linux?

Відповідь: Щоб знайти розташування файлу в Linux, спочатку потрібно виконати команду

find <fileName>

для пошуку файлу в доступних каталогах. Якщо файл з введеною назвою знайдено, ви можете скористатися командою

realpath <fileName>

щоб дізнатися повний шлях до місця зберігання файлу.

Як видалити каталог у Linux?

Відповідь: Для видалення каталогу в Linux можна використовувати команду rmdir. Ця команда, що розшифровується як “видалити каталог”, використовується для видалення порожніх каталогів.

Наприклад, щоб видалити порожній каталог під назвою test, потрібно ввести:

rmdir test

Щоб видалити непорожній каталог, необхідно скористатися командою rm з прапорцем -r:

rm -r sample

Що таке Swap Space?

Відповідь: Swap Space – це спеціальна область на жорсткому диску, зазвичай у формі розділу, яка використовується операційною системою Linux, коли закінчується оперативна пам’ять.

Коли потрібно більше пам’яті, а оперативна пам’ять переповнена, неактивні або рідко використовувані дані переміщуються з оперативної пам’яті у Swap Space, звільняючи місце для нових процесів.

Що таке LILO?

Відповідь: Linux Loader (LILO) – це завантажувач для операційної системи Linux. Завантажувач відповідає за завантаження операційної системи в пам’ять та її запуск після ввімкнення комп’ютера.

Після ввімкнення комп’ютера LILO шукає ядро Linux та інші необхідні програми і завантажує їх в пам’ять, після чого запускається ядро Linux.

Що таке перенаправлення?

Відповідь: Перенаправлення змінює джерело стандартного введення, яке зазвичай є клавіатурою, а також місце виведення стандартного виводу та стандартних повідомлень про помилки, які зазвичай відображаються на екрані.

Наприклад, за допомогою перенаправлення введені дані можна отримувати з файлу, а виведені дані та повідомлення про помилки можна зберігати у файлі.

Що таке групування команд?

Відповідь: Групування команд – це спосіб об’єднання кількох команд в єдиний блок для одночасного виконання.

Групування часто використовується з такими функціями, як перенаправлення та конвеєр, для створення складніших сценаріїв та автоматизації завдань.

Що таке сервер Linux без збереження стану?

Відповідь: Такий сервер не зберігає жодної інформації про стан або дані локально. Всі дані зберігаються на стороні клієнта, і сервер не має інформації про дані, які він обслуговує.

Що таке мережеве з’єднання?

Відповідь: Мережеве з’єднання – це метод об’єднання кількох мережевих інтерфейсів в один. Це збільшує пропускну здатність мережі, продуктивність та резервне підключення, що покращує загальну продуктивність мережі.

Що таке команда grep?

Відповідь: Команда Global regular expression print (Grep) – це інструмент командного рядка, який використовується для пошуку шаблонів у файлі. Він виводить на екран всі рядки файлу, що відповідають шаблону. Шаблон пошуку представляє собою регулярний вираз, зазвичай ряд символів.

Що таке Демони?

Відповідь: Демони – це сервісні програми, які працюють у фоновому режимі без втручання користувача. Вони виконують такі завдання, як моніторинг периферійних пристроїв та обслуговування системи. Демони забезпечують безперебійну роботу операційної системи.

Що таке символічні посилання?

Відповідь: Символічне посилання, яке також називають симлінком або програмним посиланням, – це тип файлу в ОС Linux, який вказує на інший файл або каталог. Це аналог ярлика в операційній системі Windows.

Символічні посилання спрощують доступ до файлів, які в іншому випадку були б важкодоступними або незручними.

Що таке змінні середовища?

Відповідь: Це динамічні змінні, які встановлюються в оболонці та використовуються для зберігання інформації, необхідної для роботи програм або для їх налаштування відповідно до потреб користувачів.

Прикладами змінних середовища є: LANG, яка визначає мову за замовчуванням в системі; TEMP, яка вказує каталог для тимчасових файлів, і HOME, яка вказує на домашній каталог поточного користувача.

Розрізняйте команди Bash і dos, щоб переглянути вміст файлу.

Відповідь: В оболонці bash для перегляду вмісту файлу використовуються такі команди:

  • cat – виводить вміст файлу на екран
  • nl – аналогічна cat, але додає номери рядків до виведеного вмісту
  • less – відображає вміст файлу посторінково
  • head – виводить перші 10 рядків файлу на екран
  • tail – виводить останні 10 рядків файлу на екран

В оболонці dos для перегляду вмісту файлу використовуються такі команди:

  • type – відображає вміст файлу без його зміни
  • more – відображає вміст файлу по одному екрану

Як бачимо, для перегляду вмісту файлів в оболонках Bash і dos використовуються різні команди.

Назвіть деякі дистрибутиви Linux.

Відповідь: Дистрибутиви Linux – це версії Linux, розроблені на базі ядра Linux, які комплектуються та розповсюджуються серед користувачів.

Деякі популярні дистрибутиви Linux включають Ubuntu, Fedora, Debian, CentOS, Arch Linux, Red Hat Enterprise Linux та Mint Linux.

Які різні стани процесу в Linux?

Відповідь: Основні стани процесу в Linux:

  • Виконується: процес в даний момент виконується процесором.
  • Сплячий: процес очікує на ресурси, які недоступні в даний момент.
  • Зупинено: процес призупинено процесором або сигналом.
  • Zombie: процес завершився, але батьківський процес ще не звільнив його ресурси.

Вище наведено основні стани процесу в Linux.

Які різні виклики системи керування процесами в Linux?

Відповідь: Основні виклики системи управління процесами:

  • fork() – використовується для створення нового процесу.
  • kill() – використовується для надсилання сигналу на завершення процесу, що виконується.
  • wait() – призупиняє виконання процесу, що викликав, до завершення дочірнього процесу.
  • exec() – завантажує програму в поточний процес і запускає її.
  • exit() – завершує виконання програми.

Вище наведено основні системні виклики керування процесами в Linux.

Як дізнатися статус процесу?

Відповідь: Статус процесу можна дізнатися, виконавши команду ps, яка показує поточний статус всіх активних процесів у системі Linux.

Щоб отримати більш детальну інформацію про певний процес, скористайтеся командою:

ps -p <processID>

Як зупинити запущений процес у Linux?

Відповідь: Для зупинки запущеного процесу в Linux можна скористатися командою:

kill <processID>

Це дозволить завершити процес, використовуючи його ідентифікатор. Також можна зупинити процес за його назвою, використовуючи команду:

killall <processName>

Як чутливість до регістру впливає на команди?

Відповідь: В операційній системі Linux команди чутливі до регістру, тобто оболонка сприймає команди, написані у різних регістрах, як різні.

Наприклад, команда “rmdir” не буде збігатися з командою “RMDIR”. В ОС Linux команди командного рядка зазвичай пишуться малими літерами.

Яка команда використовується для перевірки того, скільки пам’яті використовується Linux?

Відповідь: Команда free, при її виконанні, відображає обсяг використаної пам’яті та вільної пам’яті в системі. Для виведення різних типів інформації з командою можна використовувати різні прапорці.

Що таке команда ls?

Відповідь: Це команда, яка виводить на екран список вмісту каталогу.

Що таке команда ps?

Відповідь: Команда ps виводить на екран інформацію про поточні активні процеси.

Що таке команда netstat?

Відповідь: Ця команда використовується для відображення інформації про мережеві підключення в системі. Вона відображає інформацію про активні мережеві з’єднання.

Що таке команда cp?

Відповідь: Ця команда призначена для копіювання файлів та каталогів.

Що таке mkdir?

Відповідь: Ця команда використовується для створення каталогів в Linux.

Що таке Cat Command?

Відповідь: Ця команда використовується для перегляду вмісту файлу, створення нового файлу, перенаправлення виводу інших команд, об’єднання кількох файлів та виведення результату на екран.

Заключні слова

Сподіваємося, що ця стаття з відповідями на питання для співбесіди по Linux стане вам у нагоді при підготовці до майбутньої співбесіди.

Бажаємо успіху! 👍