30+ често задавани въпроси и отговори за интервю за Linux [2023]

Въпреки че операционната система Linux стартира като хоби проект от Линус Торвалдс през 1991 г., тя се превърна в доминиращ играч в захранването на суперкомпютри, уеб сървъри, смартфони и много други технологии.

Linux е предпочитан поради своята стабилност, сигурност и ефективно използване на ресурсите. Използването и търсенето на Linux нарастват през годините и тази тенденция няма да спре скоро.

През 2021 г. Statista съобщи, че 47% от професионалните разработчици използват Linux. Същата година 9-ият годишен доклад за работните места с отворен код показа, че разработването и администрирането на Linux е второто най-търсено умение от наемането на мениджъри и разработчици.

Уменията в Linux са от решаващо значение за разработването на софтуер, системната администрация, DevOps, мрежовата администрация, инженерството по сигурността и науката за данни, наред с много други. Ето защо, ако се интересувате от някоя от тези области, вероятно ще бъдете интервюиран за вашите умения в Linux.

За да ви помогнем да се подготвите, ето някои от основните въпроси за интервю за Linux, които вероятно ще срещнете, и техните отговори.

Съдържание

Какво е Linux?

Отговор: Linux е безплатна операционна система с отворен код, разработена през 1991 г. от Linux Torvalds и пусната под GNU General Public License (GPL).

Защо да използвате Linux?

Отговор: Има няколко предимства при използването на операционната система Linux. Първо, Linux е много защитен и почти напълно имунизиран срещу атаки на зловреден софтуер.

Освен това Linux е много стабилен, надежден и рядко се срива, поради което много сървъри използват Linux. Linux се предлага и с предимството, че е лек, консумира по-малко RAM и памет, което позволява да се използва дори на по-стари машини.

Като завършек на всичко, Linux е безплатен, с отворен код, редовно се актуализира и много персонализиран, което позволява на потребителите да променят всичко в операционната система, за да отговарят на техните нужди. Има и различни дистрибуции, които са оптимизирани за хакери, други за програмисти и дори за обикновени потребители.

Какви са основните компоненти на Linux OS?

Отговор: Linux OS се състои от три основни компонента.

  • Ядро: Това е основният компонент на операционната система Linux. Това е най-долният слой в операционната система Linux и директно взаимодейства с хардуера на компютъра. Ядрото разпределя и управлява хардуерни ресурси като процесор, памет и съхранение и предоставя услуги на други части на операционната система и програми, работещи на компютъра.
  • Shell: Това е интерфейс на командния ред, който позволява на потребителите да взаимодействат с операционната система и да изпълняват програми. Той действа като интерфейс между потребителите и ядрото. Той интерпретира командите на потребителите и ги изпълнява.
  • Приложения: Тези програми работят върху операционната система и предоставят специфични функции като сърфиране в мрежата, текстообработка и възпроизвеждане на музика, наред с други.
  Как да използвате командата look в Linux

Ядрото, обвивката и приложенията съставляват операционната система Linux.

Защо Linux се смята за по-сигурен?

Отговор: Ключов фактор, който прави Linux сигурен, е неговата природа с отворен код. Много разработчици редовно разглеждат кода на Linux и когато се открие грешка или уязвимост, тя се повдига във форума на Linux и се адресира в рамките на няколко дни.

Освен това начинът, по който Linux управлява разрешенията и привилегиите, гарантира, че root достъпът не се дава на нормален потребител по подразбиране.

Това ограничава щетите, които може да нанесе вирус. Ниският му брой на използване от ежедневните потребители също допринася за неговата сигурност, тъй като хакерите предпочитат да се насочват към операционни системи с много потребители.

Какво представлява ядрото на Linux?

Отговор: Това е най-долният слой на операционната система Linux и нейният основен компонент. Ядрото се намира между хардуера и другите части на Linux OS. Ядрото взаимодейства с хардуера на компютъра и управлява хардуерни ресурси като памет, процесор и съхранение.

Той също така гарантира, че на различни задачи и процеси се разпределят необходимите ресурси, за да работят гладко и ефективно.

Каква е разликата между Linux и Unix?

Отговор: Linux е безплатна операционна система с отворен код, разработена от Линус Торвалдс, докато Unix е преносима, собствена, многозадачна и многопотребителска операционна система, разработена от AT&T. Unix не е с отворен код, за разлика от Linux.

Какво е GUI?

Отговор: Графичният потребителски интерфейс (GUI) е потребителски интерфейс за операционна система, който позволява на потребителите да взаимодействат с нея чрез графични елементи като прозорци, икони, менюта, указатели и ленти за превъртане (WIMPS).

Графичните елементи се манипулират чрез посочващи устройства като мишка, стилус, тракбол или пръст на сензорни екрани.

Какво е CLI?

Отговор: Интерфейсът на командния ред (CLI) е текстово базиран потребителски интерфейс, който позволява на потребителите да взаимодействат с компютърна система чрез въвеждане на команди като текстови низове в терминала.

Компютърната система отговаря, като изпълнява подадените команди или показва исканата информация.

Обяснете Linux Shell.

Отговор: Обвивката на Linux е програма, която интерпретира и изпълнява команди, въведени през интерфейса на командния ред, позволявайки на потребителите да взаимодействат с операционната система и по този начин да контролират своите компютри.

Обвивката получава команди в четим от човека формат, интерпретира ги във форма, която може да бъде разбрана от ядрото, и след това ги предава на ядрото за изпълнение.

Видове обвивки в Linux.

Отговор: В Linux има няколко вида обвивки, всяка оптимизирана за определена употреба. Различните типове черупки в Linux включват:

  • Черупката на Борн се обозначава като sh
  • Bourne Again Shell, обозначен като Bash
  • C Shell, обозначен като csh
  • KornShell, обозначен като ksh
  • Z Shell се обозначава като zsh
  • Приятелска интерактивна черупка, обозначена като риба
  • Debian Almquist Shell, обозначен като тире
  • TENEX C Shell, обозначен като tcsh

По-горе са някои от популярните обвивки на Linux.

Какво е Shell Script?

Отговор: Това е текстов файл с последователност от команди, които трябва да бъдат изпълнени от обвивка на Linux в реда, в който се появяват.

Shell скриптовете съдържат команди, които иначе би трябвало да бъдат въведени в интерфейса на командния ред една по една. Shell скриптовете са полезни при автоматизиране на повтарящи се задачи или за изпълнение на пакетни задачи.

Обяснете разрешенията за файлове в Linux.

Отговор: В Linux има три типа разрешения за файлове:

  • Четене (r): Това разрешение позволява на потребителя да отваря и чете съдържанието на файл или да преглежда съдържанието на директория. Потребителят обаче не може да променя файла или съдържанието на директория.
  • Запис (w): Разрешение за запис на файл позволява на потребителя да променя съдържанието на файл. Разрешението за запис в директория позволява на потребителя да добавя, премахва и преименува файлове в директория.
  • Изпълнение (x): Позволява на потребителя да изпълни файла като програма. В Linux потребителят не може да стартира програма, освен ако няма разрешение за изпълнение.
  Как да коригирате проблеми с мишката и клавиатурата Corsair на macOS и Linux

Горното съставлява файловите типове в операционната система Linux.

Как да дам разрешения в Linux?

Отговор: За предоставяне на разрешения в Linux се използва командата chmod, която означава „режим на промяна“. 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?

Отговор: Това е запазена област на твърд диск, обикновено под формата на дял, използвана от операционната система Linux, когато RAM паметта е пълна.

Ако е необходима повече памет и RAM е пълна, неактивна или рядко достъпвана, страниците се премахват от RAM и се съхраняват в пространството за суап, освобождавайки място за повече процеси в RAM.

Какво е LILO?

Отговор: Linux Loader (LILO) е програма за зареждане на операционната система Linux. Буутлоудърът е програма за зареждане на операционна система в паметта и стартирането й след включване на компютъра.

След като компютърът е включен, LILO намира Linux ядрото и други необходими програми и ги зарежда в паметта. След като това стане, стартира ядрото на Linux.

Какво е пренасочване?

Отговор: Това променя източника на стандартния вход, който обикновено е клавиатурата, и дестинациите на стандартния изход и стандартната грешка, което обикновено е екранът.

Например чрез пренасочване входът може да бъде получен от файл, а също така изходът и информацията за грешки могат да бъдат записани във файл.

Какво е групиране на команди?

Отговор: Това е начин за изпълнение на множество команди колективно като едно цяло. Групирането позволява множество команди да се изпълняват като един блок.

Групирането често използва функции като пренасочване и конвейер за създаване на по-сложни скриптове и автоматизиране на задачи.

Какво представлява Linux сървър без състояние?

Отговор: Този сървър не съхранява никаква информация за състоянието или данни локално. Цялото съхранение на данни се извършва от страна на клиента и сървърът няма запис на данните, които обслужва.

Какво е мрежово свързване?

Отговор: Това е техника за компилиране на множество мрежови интерфейси в един интерфейс. Това увеличава честотната лента на мрежата, пропускателната способност и резервната свързаност, подобрявайки производителността на мрежата.

Какво представлява командата grep?

Отговор: Командата за печат на глобален регулярен израз (Grep) е инструмент от командния ред, използван за търсене на шаблони във файл и показва всички файлови редове, съдържащи шаблоните. Търсеният модел е регулярен израз и обикновено низ от знаци.

  Как да играете Atari игри на Linux

Какво представляват демоните?

Отговор: Демоните са помощни програми, които работят във фонов режим без намесата на потребителя. Демоните изпълняват задачи като наблюдение на периферни устройства и извършване на поддръжка на системата. Демоните гарантират, че операционната система работи гладко.

Отговор: Символна връзка, наричана още символна връзка или мека връзка, е тип файл в операционната система Linux, който сочи към друг файл или директория. Това е еквивалент на пряк път в операционната система Windows.

Символните връзки подобряват достъпността на файлове, които иначе биха били трудни или неудобни.

Какво представляват променливите на околната среда?

Отговор: Това са динамични променливи, зададени в обвивката и се използват за съхраняване на информация, необходима на програмите, за да работят или да конфигурират поведението си, за да отговарят на нуждите на потребителите.

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

Правете разлика между Bash и dos командите, за да разгледате съдържанието на файла.

Отговор: В bash shell командите, които можете да използвате, за да видите съдържанието на файла, включват:

  • cat – отпечатва съдържанието на файла на екрана
  • nl – подобно на cat, но добавя номера на редове към показаното съдържание
  • по-малко – чете съдържанието на файл една страница (екран) наведнъж
  • head – извежда на екрана първите 10 реда от файл
  • tail – извежда на екрана последните 10 реда от файл

В dos shell следните команди могат да се използват за преглед на съдържанието на файла:

  • тип – показва съдържанието на файл, без да го променя
  • повече – показва съдържанието на файл на екран на екран

Обвивките 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.

Какво е котешка команда?

Отговор: Това е команда, използвана за преглед на съдържанието на файл, създаване на нов файл, пренасочване на изхода на други команди, свързване на множество файлове и показване на изхода на екрана.

Заключителни думи

Тази статия относно въпросите и отговорите за интервю за Linux ще ви помогне да се справите с предстоящото интервю.

Най-добър късмет! 👍