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