Iako je Linux operativni sistem započeo kao hobi projekat Linusa Torvaldsa davne 1991. godine, on je prerastao u ključnog igrača u pogonu superračunara, veb servera, pametnih telefona i mnogih drugih tehnologija.
Linux je omiljen zbog svoje stabilnosti, sigurnosti i efikasnog korišćenja resursa. Upotreba i potražnja za Linuxom kontinuirano rastu tokom godina, a ovaj trend ne pokazuje znake usporavanja.
Statistika iz 2021. godine pokazuje da čak 47% profesionalnih programera koristi Linux. Iste godine, deveti godišnji izveštaj o poslovima otvorenog koda je otkrio da su razvoj i administracija Linuxa druge najtraženije veštine među menadžerima za zapošljavanje i programerima.
Veštine u Linuxu su ključne za razvoj softvera, sistemsku administraciju, DevOps, mrežnu administraciju, bezbednosni inženjering i nauku o podacima, među mnogim drugim oblastima. Stoga, ako ste zainteresovani za bilo koju od ovih oblasti, vrlo je verovatno da ćete biti ispitivani o svojim Linux veštinama.
Kako bismo vam pomogli u pripremi, u nastavku sledi pregled najčešćih pitanja za intervjue o Linuxu, zajedno sa odgovarajućim objašnjenjima.
Šta je Linux?
Odgovor: Linux je besplatan operativni sistem otvorenog koda, koji je 1991. godine razvio Linus Torvalds i koji je objavljen pod GNU Opštom javnom licencom (GPL).
Zašto koristiti Linux?
Odgovor: Postoji nekoliko značajnih prednosti korišćenja Linux operativnog sistema. Kao prvo, Linux je izuzetno siguran i gotovo potpuno otporan na malver napade.
Takođe, Linux je poznat po svojoj stabilnosti, pouzdanosti i retkim slučajevima pada sistema, što ga čini popularnim izborom za mnoge servere. Dodatno, Linux je lagan, troši manje RAM-a i memorije, što omogućava njegovo korišćenje čak i na starijim računarima.
U zaključku, Linux je besplatan, otvorenog koda, redovno se ažurira i izuzetno je prilagodljiv, omogućavajući korisnicima da modifikuju bilo koji aspekt operativnog sistema kako bi odgovarao njihovim potrebama. Dostupne su razne distribucije koje su optimizovane za hakere, druge za programere, a neke su pogodne i za opšte korisnike.
Koje su osnovne komponente Linux OS-a?
Odgovor: Linux OS se sastoji od tri glavne komponente.
- Kernel: Ovo je osnovna komponenta Linux OS-a. Predstavlja najniži sloj i direktno komunicira sa hardverom računara. Kernel alocira i upravlja hardverskim resursima, kao što su procesor, memorija i prostor za skladištenje, te pruža usluge ostalim delovima OS-a i programima koji se izvršavaju na računaru.
- Shell: Ovo je interfejs komandne linije koji omogućava korisnicima interakciju sa operativnim sistemom i pokretanje programa. Deluje kao posrednik između korisnika i kernela, interpretirajući korisničke komande i izvršavajući ih.
- Aplikacije: Ovi programi rade na vrhu operativnog sistema i pružaju određene funkcionalnosti, kao što su pretraživanje interneta, obrada teksta i reprodukcija muzike, između ostalog.
Kernel, shell i aplikacije zajedno čine Linux operativni sistem.
Zašto se Linux smatra sigurnijim?
Odgovor: Ključni faktor koji čini Linux sigurnim je njegova priroda otvorenog koda. Brojni programeri redovno pregledaju Linux kod i, kada se otkrije greška ili ranjivost, ona se brzo prijavljuje na Linux forumu i rešava u roku od nekoliko dana.
Pored toga, način na koji Linux upravlja dozvolama i privilegijama osigurava da se root pristup ne daje standardnom korisniku po defaultu.
Ovo ograničava potencijalnu štetu koju virus može da nanese. Manji broj korisnika koji svakodnevno koriste Linux takođe doprinosi njegovoj sigurnosti, jer hakeri češće ciljaju operativne sisteme sa većim brojem korisnika.
Šta je Linux kernel?
Odgovor: Ovo je najniži sloj Linux operativnog sistema i njegova suštinska komponenta. Kernel se nalazi između hardvera i ostalih delova Linux OS-a. Direktno komunicira sa hardverom i upravlja resursima kao što su memorija, procesor i prostor za skladištenje.
Takođe, osigurava da različitim zadacima i procesima budu dodeljeni neophodni resursi kako bi se nesmetano i efikasno odvijali.
Koja je razlika između Linuxa i Unixa?
Odgovor: Linux je besplatan operativni sistem otvorenog koda, koji je razvio Linus Torvalds, dok je Unix prenosivi, vlasnički operativni sistem za više zadataka i više korisnika, koji je razvio AT&T. Za razliku od Linuxa, Unix nije otvorenog koda.
Šta je GUI?
Odgovor: Grafički korisnički interfejs (GUI) je korisnički interfejs za operativni sistem koji omogućava korisnicima interakciju putem grafičkih elemenata kao što su prozori, ikone, meniji, pokazivači i trake za pomeranje (WIMPS).
Grafičkim elementima se manipuliše pomoću pokazivačkih uređaja, poput miša, olovke, trackball-a ili prsta na ekranima osetljivim na dodir.
Šta je CLI?
Odgovor: Interfejs komandne linije (CLI) je tekstualni korisnički interfejs koji omogućava korisnicima interakciju sa računarskim sistemom unosom komandi u obliku tekstualnih nizova u terminal.
Računarski sistem odgovara izvršavanjem prosleđenih komandi ili prikazivanjem traženih informacija.
Objasnite Linux Shell.
Odgovor: Linux shell je program koji interpretira i izvršava komande unete putem interfejsa komandne linije, omogućavajući korisnicima da komuniciraju sa operativnim sistemom i kontrolišu svoje računare.
Shell prima komande u obliku čitljivom za ljude, prevodi ih u oblik razumljiv kernelu, a zatim ih prosleđuje kernelu na izvršenje.
Tipovi shell-ova u Linuxu.
Odgovor: Postoji nekoliko tipova shell-ova u Linuxu, od kojih je svaki optimizovan za određenu upotrebu. Različite vrste shell-ova u Linuxu uključuju:
- Bourne Shell, označen kao sh
- Bourne Again Shell, označen kao Bash
- C Shell, označen kao csh
- KornShell, označen kao ksh
- Z Shell, označen kao zsh
- Friendly Interactive Shell, označen kao fish
- Debian Almquist Shell, označen kao dash
- TENEX C Shell, označen kao tcsh
Gore navedeni su neki od popularnijih Linux shell-ova.
Šta je shell skripta?
Odgovor: To je tekstualna datoteka koja sadrži niz komandi koje Linux shell treba da izvrši, po redosledu kojim su navedene.
Shell skripte sadrže komande koje bi inače morale da se unose u interfejs komandne linije jedna po jedna. Korisne su za automatizaciju zadataka koji se ponavljaju ili za pokretanje serijskih operacija.
Objasnite dozvole za datoteke u Linuxu.
Odgovor: U Linuxu postoje tri tipa dozvola za datoteke:
- Čitanje (r): Ova dozvola omogućava korisniku da otvori i pročita sadržaj datoteke ili pregleda sadržaj direktorijuma. Međutim, korisnik ne može da menja datoteku ili sadržaj direktorijuma.
- Pisanje (w): Dozvola za pisanje u datoteku omogućava korisniku da izmeni njen sadržaj. Dozvola za pisanje u direktorijum omogućava korisniku da dodaje, uklanja i preimenuje datoteke u tom direktorijumu.
- Izvršavanje (x): Omogućava korisniku da izvrši datoteku kao program. U Linuxu, korisnik ne može pokrenuti program ukoliko nema dozvolu za izvršavanje.
Gore navedeno su vrste dozvola za datoteke u Linux operativnom sistemu.
Kako dodeliti dozvole u Linuxu?
Odgovor: Za dodelu dozvola u Linuxu koristi se naredba `chmod`, skraćenica od „change mode“. `chmod` se koristi za promenu dozvola za datoteku ili direktorijum.
Dozvole se mogu dodeliti za različite grupe korisnika, uključujući: grupu (g), korisnika (u), druge (o) i sve korisnike (a). Dozvole za ove korisnike mogu se dodeliti dodavanjem (+) ili oduzimanjem (-) dozvola za čitanje (r), pisanje (w) i izvršavanje (x).
Sintaksa za promenu dozvola je sledeća:
chmod permissions file/directory-name
Kako pronaći gde se datoteka čuva u Linuxu?
Odgovor: Da biste pronašli gde se datoteka čuva u Linuxu, prvo izvršite naredbu
find <imeDatoteke>
kako biste pretražili datoteku u dostupnim direktorijumima. Ukoliko je datoteka pronađena pod unetim imenom, možete izvršiti sledeće:
realpath <imeDatoteke>
kako biste pronašli apsolutnu putanju do lokacije za skladištenje datoteke.
Kako izbrisati direktorijum u Linuxu?
Odgovor: Da biste izbrisali direktorijum u Linuxu, možete koristiti naredbu `rmdir`. Ova naredba je skraćenica od „remove directory“ i koristi se za brisanje praznih direktorijuma.
Na primer, da biste izbrisali prazan direktorijum koji se zove „test“, izvršite:
rmdir test
Da biste izbrisali neprazan direktorijum, pokrenite naredbu `rm` zajedno sa zastavicom `-r`:
rm -r sample
Šta je swap prostor?
Odgovor: To je rezervisana oblast na čvrstom disku, obično u obliku particije, koju koristi Linux operativni sistem kada je RAM pun.
U slučaju da je potrebno više memorije, a RAM je pun, neaktivne ili retko korišćene stranice se uklanjaju iz RAM-a i smeštaju u swap prostor, čime se oslobađa prostor za druge procese u RAM-u.
Šta je LILO?
Odgovor: Linux Loader (LILO) je pokretač za Linux operativni sistem. Pokretač je program koji učitava operativni sistem u memoriju i pokreće ga nakon što se računar uključi.
Kada se računar uključi, LILO locira Linux kernel i druge neophodne programe i učitava ih u memoriju. Nakon toga se pokreće Linux kernel.
Šta je preusmeravanje?
Odgovor: To je promena izvora standardnog ulaza, koji je obično tastatura, kao i odredišta standardnog izlaza i standardne greške, koji su obično ekran.
Na primer, putem preusmeravanja, ulaz se može dobiti iz datoteke, a izlazne informacije i informacije o grešci mogu se sačuvati u datoteci.
Šta je grupisanje komandi?
Odgovor: To je način da se više komandi izvrši zajedno kao jedna celina. Grupisanje omogućava da se više komandi izvrši kao jedan blok.
Grupisanje se često kombinuje sa funkcijama kao što su preusmeravanje i cevovod za kreiranje složenijih skripti i automatizaciju zadataka.
Šta je Linux server bez stanja?
Odgovor: Ovaj server ne čuva nikakve informacije o stanju ili podatke lokalno. Svo skladištenje podataka se odvija na strani klijenta, a server nema evidenciju o podacima koje pruža.
Šta je mrežno povezivanje?
Odgovor: To je tehnika za kombinovanje više mrežnih interfejsa u jedan logički interfejs. Ovo povećava mrežni propusni opseg, protok i redundantnost, poboljšavajući performanse mreže.
Šta je `grep` komanda?
Odgovor: Komanda za štampanje globalnog regularnog izraza (grep) je alatka komandne linije koja se koristi za pretraživanje uzoraka u datoteci i prikazuje sve linije datoteke koje sadrže te uzorke. Uzorak koji se traži je regularni izraz i obično niz znakova.
Šta su demoni?
Odgovor: Demoni su pomoćni programi koji rade u pozadini, bez direktne intervencije korisnika. Demoni obavljaju zadatke kao što su nadgledanje perifernih uređaja i održavanje sistema. Obezbeđuju da OS radi nesmetano.
Šta su simboličke veze?
Odgovor: Simbolička veza, takođe poznata kao symlink ili meka veza, je tip datoteke u Linux OS-u koja pokazuje na drugu datoteku ili direktorijum. To je ekvivalent prečici u Windows operativnom sistemu.
Simboličke veze poboljšavaju dostupnost datoteka koje bi inače bile teške ili nezgodne za pristup.
Šta su varijable okruženja?
Odgovor: To su dinamičke promenljive postavljene u shell-u i koriste se za čuvanje informacija koje su programima potrebne za pokretanje ili konfigurisanje njihovog ponašanja kako bi odgovarali potrebama korisnika.
Primeri nekih varijabli okruženja uključuju LANG, koja čuva podrazumevani jezik sistema, TEMP, koja određuje direktorijum koji se koristi za privremene datoteke, i HOME, koja prikazuje matični direktorijum trenutnog korisnika.
Razlikujte Bash i DOS komande za pregled sadržaja datoteke.
Odgovor: U Bash shell-u, komande koje se mogu koristiti za pregled sadržaja datoteke uključuju:
- `cat` – ispisuje sadržaj datoteke na ekran
- `nl` – slično `cat`, ali dodaje brojeve redova prikazanom sadržaju
- `less` – čita sadržaj datoteke jednu po jednu stranicu (ekran).
- `head` – ispisuje prvih 10 redova datoteke na ekran
- `tail` – prikazuje poslednjih 10 redova datoteke na ekran
U DOS shell-u, sledeće komande se mogu koristiti za pregled sadržaja datoteke:
- `type` – prikazuje sadržaj datoteke bez izmena
- `more` – prikazuje sadržaj datoteke jedan po jedan ekran
Bash i DOS shell-ovi imaju različite komande koje se koriste za pregled sadržaja datoteka.
Navedite neke Linux distribucije.
Odgovor: Linux distribucije su verzije Linux-a izgrađene na Linux kernelu, koje se pakuju i distribuiraju korisnicima.
Neke popularne Linux distribucije uključuju Ubuntu, Fedora, Debian, CentOS, Arch Linux, Red Hat Enterprise Linux i Mint Linux.
Koja su različita stanja procesa u Linuxu?
Odgovor: Glavna stanja procesa u Linuxu uključuju:
- U toku (Running) – proces trenutno koristi procesor
- Spavanje (Sleeping) – proces čeka resurse koji trenutno nisu dostupni
- Zaustavljen (Stopped) – proces je prekinut od strane procesora ili signala
- Zombi (Zombie) – proces je prekinut, ali njegov roditeljski proces još nije očistio njegove resurse
Gore navedeno su glavna stanja procesa u Linuxu.
Koji su različiti sistemski pozivi za upravljanje procesima u Linuxu?
Odgovor: Različiti sistemski pozivi za upravljanje procesima uključuju:
- `fork()` – koristi se za kreiranje novog procesa
- `kill()` – koristi se za slanje signala za prekid pokrenutog procesa
- `wait()` – suspenduje izvršavanje pozivajućeg procesa dok se ne završi podređeni proces
- `exec()` – učitava program u trenutni proces i pokreće ga
- `exit()` – prekida izvršavanje programa
Gore navedeni su glavni sistemski pozivi za upravljanje procesima u Linuxu.
Kako pronaći status procesa?
Odgovor: Status procesa možete pronaći izvršavanjem naredbe `ps` da biste videli trenutni status svih aktivnih procesa u Linux sistemu.
Da biste videli više detalja o određenom procesu, izvršite sledeće:
ps -p <IDprocesa>
Kako zaustaviti proces koji je u toku u Linuxu?
Odgovor: Možete da zaustavite proces koji je u toku u Linuxu izvršavanjem:
kill <IDprocesa>
Da biste prekinuli proces koristeći njegov ID. Takođe, možete zaustaviti proces koristeći njegovo ime izvršavanjem:
killall <ImeProcesa>
Kako osetljivost na velika i mala slova utiče na komande?
Odgovor: U Linux OS-u, komande su osetljive na velika i mala slova, što znači da shell tretira komande napisane u različitim slučajevima kao različite i nepovezane.
Na primer, komanda `rmdir` nije isto što i `RMDIR`. U Linux OS-u, komande komandne linije se obično pišu malim slovima.
Koja se naredba koristi za proveru koliko memorije koristi Linux?
Odgovor: Naredba `free`, kada se izvrši, prikazuje količinu iskorišćenog i slobodnog prostora u sistemu. Različite zastavice se mogu koristiti sa komandom za prikaz različitih vrsta informacija.
Šta je `ls` komanda?
Odgovor: To je komanda za listanje sadržaja direktorijuma.
Šta je `ps` komanda?
Odgovor: Komanda `ps` prikazuje informacije o trenutno aktivnim procesima.
Šta je `netstat` komanda?
Odgovor: To je komanda koja se koristi za prikaz informacija koje se odnose na mrežne veze na sistemu. Prikazuje informacije o trenutno aktivnim mrežnim vezama.
Šta je `cp` komanda?
Odgovor: To je komanda koja se koristi za kopiranje datoteka i direktorijuma.
Šta je `mkdir`?
Odgovor: To je komanda koja se koristi za kreiranje direktorijuma u Linuxu.
Šta je `cat` komanda?
Odgovor: To je komanda koja se koristi za pregled sadržaja datoteke, kreiranje nove datoteke, preusmeravanje izlaza drugih komandi, spajanje više datoteka i prikazivanje izlaza na ekran.
Završne reči
Ovaj članak sa pitanjima i odgovorima za Linux intervju trebalo bi da vam pomogne da uspešno prođete predstojeći intervju.
Srećno! 👍