Зміст[Сховати][Показати]
- 1. Що таке оболонка?
- 2. Що саме таке Shell Scripting?
- 3. Поясніть переваги сценаріїв оболонки.
- 4. Опишіть програмування GUI.
- 5. Що таке суперблок у програмуванні оболонки?
- 6. Перелічіть численні види доступних оболонок.
- 7. Напишіть різницю між Bourne Shell і C Shell.
- 8. Що таке змінні Shell?
- 9. Які різні типи змінних є в Shell Script?
- 10. Яка команда використовується для запуску файлу оболонки?
- 11. Що ви можете сказати мені про сценарії Super Block у Shell?
- 12. Що таке метасимвол?
- 13. Яка різниця між м'якими та жорсткими посиланнями?
- 14. Що означає рядок Shebang у сценаріях оболонки?
- 15. Через які кроки проходить процес Linux?
- 16. Опишіть Crontab.
- 17. Що таке контрольні інструкції?
- 18. Яка різниця між $* і $@?
- 19. Будь ласка, поясніть, як ви порівнюєте рядки в сценарії оболонки.
- 20. Як я можу створювати, читати та видаляти файли?
- 21. Чи можна розрізнити жорсткі та м'які посилання в сценаріях оболонки?
- 22. Як ви будете усувати помилки в програмі оболонки?
- 23. Скільки блоків у файловій системі?
- 24. Чому bash є слабо типізованою мовою?
- 25. Скільки часу має змінна в сценарії оболонки?
- 26. Назвіть команду заміни для echo.
- 27. Дайте визначення IFS
- 28. Чи можливо запускати численні сценарії в Shell?
- 29. Які багато режимів існують у редакторах vi?
- 30. Яка різниця між $! і $$?
- 31. Що означає $#?
- 32. Назвіть команду для створення резервної копії.
- 33. Коли недоцільно використовувати Shell Scripting?
- 34. Як ви збираєтеся підключитися до сервера бази даних з Linux?
- 35. Що таке два командних файли crontab?
- 36. Які три різні засоби захисту UNIX для файлу або даних?
- 37. Коротко поясніть команду sed на прикладі.
- 38. Яке призначення інструментів, які постачаються разом із драйвером відкритого клієнта, у сценаріях оболонки?
- 49. Назвіть команду, за допомогою якої необхідно визначити тривалість системи.
- 40. Створіть сценарій для додавання численних значень.
- 41. Створіть приклад функції.
- Висновок
Сценарій оболонки — це комп’ютерна програма або інтерпретатор командного рядка, який призначений для запуску оболонкою Unix. Найприємнішим аспектом створення сценарію оболонки є те, що інструкції та синтаксис ідентичні тим, які вводяться безпосередньо в командному рядку.
Linux — це популярна операційна система з відкритим вихідним кодом, яка відома своїм високим рівнем безпеки та інтерфейсом командного рядка. Для початківців інженерів DevOps життєво важливо розуміти сценарії оболонки або сценарії bash.
Якщо ви знайомі зі сценаріями оболонки та готуєтеся до співбесіди, ця стаття з питаннями та відповідями на співбесіді зі сценаріями оболонки надасть вам найкращі запитання для співбесіди щодо сценаріїв оболонки, які полегшать вашу підготовку.
1. Що таке оболонка?
Оболонка служить мостом між користувачем і ядром. Незважаючи на те, що може бути тільки одне ядро, система може мати кілька оболонок, що працюють одночасно.
У результаті кожного разу, коли користувач вводить команду на клавіатурі, оболонка спілкується з ядром для її виконання, а потім відображає результати користувачеві.
2. Що саме таке Shell Scripting?
Shell Scripting — це безкоштовне комп’ютерне програмне забезпечення з відкритим кодом, яке працює в оболонці Unix/Linux. Програмне забезпечення Shell Scripting дозволяє писати ряд команд, які виконуватиме оболонка.
Він може інтегрувати довгі та повторювані послідовності команд в єдиний простий сценарій, який можна зберегти та виконати в будь-який час, зменшуючи зусилля програмування.
3. Поясніть переваги сценаріїв оболонки.
- Майже кожна поточна операційна система, включаючи UNIX, Linux, BSD і Mac OS X, може запускати сценарії оболонки, оскільки вони створюються на інтерпретованій мові.
- Інструмент налагодження, який є інтерактивним, а також швидким запуском.
- Це економить час, допомагаючи автоматизувати адміністративні обов’язки.
- Програмістам не потрібно коригувати свій синтаксис, оскільки команда та синтаксис такі самі, як і ті, що розміщені безпосередньо в командному рядку.
- Сценарії оболонки прості у використанні та написанні.
- За допомогою цього інструменту програмні додатки можуть створюватися відповідно до відповідних платформ.
- Замість одноразових інструкцій їх можна використовувати для масового виконання.
- Ви можете використовувати його для створення власної операційної системи з необхідними функціями.
4. Опишіть програмування GUI.
Графічний Інтерфейс користувача Програмування (GUI), необхідне для роботи комп’ютера та програм, називається сценарієм GUI. Він працює з декількома операційними системами та використовується для керування різними програмами.
5. Що таке суперблок у програмуванні оболонки?
Програмне забезпечення під назвою суперблок зберігає записи певних файлових систем. Розмір, кількість заповнених і порожніх блоків, дані використання, розмір групи блоків, розташування та розмір таблиць inode є одними з властивостей, які можна знайти в блоці.
6. Перелічіть численні види доступних оболонок.
- Оболонка Борна: під час використання оболонки типу Борна типовим запитом є символ $.
- Оболонка C: під час використання оболонки типу C типовим запитом є символ %.
- Оболонка Korn: Korn — це програма сценаріїв Shell на основі Unix, яка спочатку базувалася на сценаріях Bash Shell. Ця оболонка дуже складна і використовує високий рівень мова програмування.
- TCSH: не існує однієї повної форми TCSH. Це як є. TCSH є більш складною версією оболонки Berkeley Unix C. Тепер він підтримує синтаксис C.
7. Напишіть різницю між Bourne Shell і C Shell.
Bourne Shell: його компактність і швидкість відрізняють його від інших снарядів. Однак інтерактивні елементи, такі як здатність запам'ятовувати попередні запити, відсутні. Крім того, арифметика і логічні вирази не підтримуються оболонкою Борна.
C Shell: це вдосконалення UNIX, яке включає такі інтерактивні функції, як псевдоніми та журнал команд. Він містить можливості легкого програмування на додаток до вбудованої арифметики та граматики виразів.
8. Що таке змінні Shell?
Змінні Shell є основою кожної програми або сценарію Shell. Змінні дозволяють Shell зберігати та змінювати дані в програмі Shell. Рядкові змінні зазвичай використовуються для зберігання змінних оболонки.
9. Які різні типи змінних є в Shell Script?
Операційна система (Linux) створює та визначає системні змінні. Ці змінні часто визначаються великими літерами, і їх можна перевірити за допомогою команди «set».
Визначені користувачем змінні генеруються або вказуються користувачами системи, і їх значення можна перевірити, виконавши команду «echo».
10. Яка команда використовується для запуску файлу оболонки?
11. Що ви можете сказати мені про сценарії Super Block у Shell?
Super Block — це просто програмне забезпечення, яке зберігає інформацію про певні файлові системи.
Суперблок містить таку інформацію, як розмір блоку, кількість порожніх і заповнених блоків і їх відповідну кількість, розмір і розміщення таблиць inode, карту блоків диска, статистику використання та розмір груп блоків.
12. Що таке метасимвол?
Метасимвол — це унікальний символ, який включено в програму або поле даних оболонки. Він надає інформацію про інших персонажів. Наприклад, щоб отримати список усіх файлів, які починаються з символу 's', скористайтеся командою 'ls s*'.
13. Яка різниця між м'якими та жорсткими посиланнями?
М'які посилання пов'язані з іменем файлу та можуть жити в різних файлових системах; в той час як жорсткі посилання пов’язані з inode файлу і мають бути в тій самій файловій системі, що й файл.
Видалення оригінального файлу робить м’яке посилання неактивним (порушене посилання), але не впливає на жорстке з’єднання, і жорстке посилання все одно матиме доступ до копії файлу.
14. Що означає рядок Shebang у сценаріях оболонки?
Рядок Shebang зазвичай розташований на початку сценарію, наприклад, #!/bin/sh. Цей рядок визначає положення двигуна. Цей механізм, як правило, запускає сценарій.
15. Через які кроки проходить процес Linux?
Як правило, процес Linux проходить такі чотири етапи:
- Очікування: ресурс очікується процесом Linux.
- Виконується: зараз запущено процес Linux.
- Зупинено: після успішного виконання процес Linux припиняється.
- ZombieeПроцес зупинено, але в таблиці процесів він усе ще відображається як активний.
16. Опишіть Crontab.
Crontab означає таблицю cron, оскільки для виконання завдань використовується планувальник завдань «cron». Це набір команд, які виконуються регулярно, і назва команди також керує списком.
Розклад і інструмент, який використовується для зміни розкладу, називаються Crontab.
17. Що таке контрольні інструкції?
Інструкції керування вказують на те, як виконуватимуться різні інструкції сценарію. Вони зазвичай використовуються в програмах Shell для оцінки контрольний потік.
Без цих інструкцій виконання сценарію оболонки відбувається в певній послідовності. Керуючі інструкції впливають на процес виконання в програмах оболонки.
18. Яка різниця між $* і $@?
$@ вважає кожен аргумент у лапках окремим аргументом, тоді як $* вважає повний набір позиційних параметрів одним рядком.
19. Будь ласка, поясніть, як ви порівнюєте рядки в сценарії оболонки.
Команда 'test' використовується для порівняння текстових рядків. Ця команда порівнює текстові рядки, порівнюючи символи кожного рядка.
20. Як я можу створювати, читати та видаляти файли?
21. Чи можна розрізнити жорсткі та м'які посилання в сценаріях оболонки?
Сценарії оболонки — це потужне рішення, яке, як і Windows, використовує посилання для створення ярликів. М'які посилання не мають фіксованого розташування, і їх можна знайти всюди в одній файловій системі.
Зазвичай вони прив'язані до імені файлу. Жорсткі посилання, з іншого боку, залишаються на тій же файловій системі. У більшості ситуацій жорсткі зв’язки пов’язані з вузлами та мають певне фіксоване положення.
22. Як ви будете усувати помилки в програмі оболонки?
Ось деякі поширені способи усунення помилок сценарію:
- Set-x використовується для дозволу налагодження.
- Вставте оператори налагодження в сценарій оболонки, щоб показати інформацію, яка допоможе виявити проблему.
23. Скільки блоків у файловій системі?
- Суперблок: цей блок надає детальну інформацію про стан файлової системи, включаючи розмір блоку, розмір групи блоків, дані використання, кількість порожніх і заповнених блоків, розмір і розміщення таблиць inode тощо.
- Завантажувальний блок: у цьому блоці зберігається програмне забезпечення початкового завантажувача, яке запускається, коли користувач завантажує хост-систему.
- Блок даних: цей блок даних містить вміст файлу файлової системи.
- Таблиця Inode: UNIX розглядає всі компоненти як файли, а таблиця Inode є сховищем для всіх пов’язаних з файлами даних.
24. Чому bash є слабо типізованою мовою?
Через відсутність вимоги до оголошення типу даних під час оголошення змінних, Bash є слабо типізованою мовою. Тип змінної визначається її поточним значенням і розглядається як рядок у Bash.
Команда declare може бути використана для визначення змінних Bash.
Однак можливості визначення типів даних обмежені й не охоплюють усіх типів даних. Наприклад, команду declare не можна використовувати з типом даних float.
25. Скільки часу має змінна в сценарії оболонки?
Змінна в сценарії оболонки має час життя лише до завершення виконання.
26. Назвіть команду заміни для echo.
Команда tput є альтернативою echo. Ми можемо використовувати цю команду для керування відображенням результату. Крім того, незалежно від розміру екрана, сценарії оболонки можуть виконувати такі дії, як підкреслення та центрування тексту.
27. Дайте визначення IFS
IFS означає Internal Field Separator. Це системна змінна зі значенням за замовчуванням пробіл, табуляція, за якою йде новий рядок. IFS вказує, де одне поле чи слово закінчується в рядку та починається інше.
28. Чи можливо запускати численні сценарії в Shell?
Так, багато сценаріїв можна виконувати в Shell. Ви можете викликати один сценарій з іншого, запустивши кілька сценаріїв. Для цього ви повинні вказати назву сценарію, який ви хочете викликати.
29. Які багато режимів існують у редакторах vi?
- Командний режим: це режим, у якому ви починаєте.
- Режим редагування: цей параметр дозволяє виконувати наступні редагування.
- У цьому режимі ви взаємодієте з vi та даєте йому інструкції для обробки.
30. Яка різниця між $! і $$?
$! Відображає ідентифікатор процесу, який нещодавно перейшов у фоновий режим.
$$ повертає ідентифікатор процесу, що зараз виконується.
31. Що означає $#?
$# зазвичай містить кількість аргументів, хоча це може відрізнятися для функцій. Простіше кажучи, він використовувався для запису кількості параметрів командного рядка, наданих сценарію оболонки.
32. Назвіть команду для створення резервної копії.
Команда tar використовується для створення резервної копії. Tar — це абревіатура від tape archive, і використовується для створення резервних копій, які використовують tar, gzip і bzip. Ця команда може зберігати та відновлювати файли з стрічки та на неї.
Як правило, файли та каталоги стискаються в tar-файли, які є архівними файлами. З цієї причини це одна з найбільш використовуваних інструкцій. Крім того, архів просто передається з одного сервера на інший.
33. Коли недоцільно використовувати Shell Scripting?
Ми не повинні використовувати Shell Scripting, якщо робота справді складна, наприклад створення цілої системи обробки заробітної плати.
Ми не повинні використовувати Shell Scripting, якщо робота вимагає високого рівня продуктивності.
Ми не повинні використовувати Shell Scripting, якщо проект вимагає кількох програмних рішень.
34. Як ви збираєтеся підключитися до сервера бази даних з Linux?
Ми можемо використовувати утиліту isql, яка входить до складу драйвера відкритого клієнта, наступним чином:
35. Що таке два командних файли crontab?
cron.allow визначає, яким користувачам має бути дозволено використовувати команду crontab.
cron.deny, який визначає, чи потрібно забороняти користувачам використовувати команду crontab.
36. Які три різні засоби захисту UNIX для файлу або даних?
- Він забезпечує безпеку на рівні файлів, надаючи права на читання, запис і виконання файлів.
- Він пропонує користувачам унікальний ідентифікатор користувача та пароль для автентифікації, щоб незнайомі або неавторизовані особи не могли отримати до нього доступ.
- Він забезпечує безпеку шифрування файлів. Цей підхід дозволяє закодувати файл у нечитабельний формат. Навіть якщо файл відкрито, його вміст неможливо прочитати, доки він не буде розшифрований.
37. Коротко поясніть команду sed на прикладі.
sed — це абревіатура від stream editor. Використовується для редагування файлу без використання редактора. Він використовується для зміни даного потоку, наприклад файлу або вхідного потоку.
38. Яке призначення інструментів, які постачаються разом із драйвером відкритого клієнта, у сценаріях оболонки?
Система підключена до сервера бази даних лише за допомогою інструментів. Від користувачів вимагається виконати ряд важливих і необхідних дій для програмування.
Для створення сценаріїв потрібно більше даних та інформації, і не завжди практично зберігати їх в одному місці. Користувачі, які використовують цей підхід, повинні гарантувати вихід без помилок.
49. Назвіть команду, за допомогою якої необхідно визначити тривалість системи.
Використовуючи команду Uptime, ви можете визначити, як довго ваша система працює. Також доступні кількість користувачів з активними сеансами та типове навантаження на систему протягом 1, 5 і 15 хвилин.
Ви також можете відфільтрувати інформацію, яка представлена відразу, відповідно до ваших виборів.
40. Створіть сценарій для додавання численних значень.
41. Створіть приклад функції.
Висновок
Ви можете зрозуміти, що оболонка — це в першу чергу інтерфейс між операційною системою та користувачем, який перекладає введені користувачем інструкції в операційну систему або ядро, за допомогою цих запитань щодо сценаріїв оболонки.
Ця концепція часто має вирішальне значення в процесі підготовки до співбесіди Інженери DevOps і тестери автоматизації. Скрипти оболонки дозволяють створювати сценарії різного рівня складності. Сценарії оболонки також можна використовувати для автоматизації різноманітних повторюваних процесів.
Читати Серія інтерв'ю Хашдорка за допомогу в підготовці до співбесіди.
залишити коментар