50 Shell Scripting Intervju Pitanja i odgovori (2024)

Ovdje su pitanja i odgovori na intervjuu za Shell Scripting za svježije i iskusnije kandidate koji će dobiti posao iz snova.

 

Pitanja i odgovori za intervju za skriptiranje Linux ljuske

1) Što je školjka?

Shell je sučelje između korisnika i kernela. Iako može postojati samo jedna jezgra; sustav može imati više ljuski koje rade istovremeno. Dakle, kad god korisnik unese naredbu putem tipkovnice, ljuska komunicira s jezgrom kako bi je izvršila i zatim prikazala izlaz korisniku.

👉 Besplatno preuzimanje PDF-a: Pitanja i odgovori za intervju za Shell Scripting


2) Što je Shell skriptiranje?

Shell skriptiranje je računalni program otvorenog koda dizajniran da ga pokreće Unix/Linux ljuska. Shell Scripting je program za pisanje niza naredbi koje školjka izvršava. Može kombinirati duge i ponavljajuće sekvence naredbi u jednu i jednostavnu skriptu koja se može pohraniti i izvršiti u bilo kojem trenutku, što smanjuje programske napore.

Shell Scripting Pitanja za intervju


3) Koje su različite vrste najčešće korištenih ljuski na tipičnom Linux sustavu?

csh,ksh,bash,Bourne. Najčešće korištena i napredna ljuska koja se danas koristi je "Bash".


4) Što je ekvivalent prečacu datoteke da imamo prozor na Linux sustavu?

Prečaci se stvaraju pomoću "veza" na Linuxu. Postoje dvije vrste veza koje se mogu koristiti, a to su "meka veza" i "tvrda veza".


5) Koja je razlika između mekih i tvrdih veza?

Meke veze su poveznice na naziv datoteke i mogu se također nalaziti na različitim datotečnim sustavima; međutim, tvrde veze povezuju na inode datoteke i moraju biti na istom datotečnom sustavu kao i datoteka. Brisanje izvorne datoteke čini meku vezu neaktivnom (neispravna veza), ali ne utječe na tvrdu vezu (tvrda veza će i dalje pristupati kopiji datoteke)


6) Kako ćete proslijediti i pristupiti argumentima skripti u Linuxu?

Argumenti se mogu proslijediti kao:

scriptName “Arg1” “Arg2″….”Argn” i može mu se pristupiti unutar skripte kao $1 , $2 .. $n


7) Koja je razlika između $* i $@?

$@ tretira svaki citirani argument kao zasebni argument, ali $* će cijeli skup pozicijskih parametara smatrati jednim nizom.


8) Koristite naredbu sed za zamjenu sadržaja datoteke (emulirajte naredbu tac)

npr:

if cat fille
ABCD
EFGH

Onda bi trebao biti O/p

EFGH
ABCD

sed '1! G; h;$!d' file1

Ovdje se G naredba dodaje prostoru uzorka,

h naredba kopira međuspremnik uzorka u međuspremnik za zadržavanje

i naredba d briše trenutni prostor uzorka.


9) S obzirom na datoteku, zamijenite sve riječi "ABC" s "DEF" iz 5th retka do kraja samo u onim recima koji sadrže riječ "MNO"

sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'

10) Zadanu datoteku, napišite niz naredbi da biste pronašli broj svake riječi.

tr –s  "(backslash)040" <file1|tr –s  "(backslash)011"|tr "(backslash)040 (backslash)011" "(backslash)012" |uniq –c
where "(backslash)040" is octal equivalent of "space"

“(kosa crta obrnuto)011” je oktalni ekvivalent “znaka tabulator” i

“(obrnuta kosa crta)012” oktalni je ekvivalent znaka novog retka.


11) Kako ćete pronaći 99th redak datoteke koristeći samo naredbu tail i head?

rep +99 turpija1|glava -1


12) Ispišite 10th linija bez korištenja naredbe rep i glava.

sed –n '10p' file1

13) U svojoj bash ljusci želim da moj upit bude u formatu '$”Present working directory”:”hostname”> i da učitava datoteku koja sadrži popis korisnički definiranih funkcija čim se prijavim, kako ćete to automatizirati ?

U bash ljusci možemo stvoriti datoteku ".profile" koja se automatski poziva čim se prijavim i upišem sljedeću sintaksu u nju.

export PS1='$ `pwd`:`hostname`>' .File1

Ovdje je File1 datoteka koja sadrži korisnički definirane funkcije i "." poziva ovu datoteku u trenutnoj ljusci.


14) Objasnite o “s” bitu dopuštenja u datoteci?

“s” bit se naziva “set user id” (SUID) bit.

Bit “s” na datoteci uzrokuje da proces ima privilegije vlasnika datoteke tijekom instance programa.

Na primjer, izvršavanje naredbe “passwd” za promjenu trenutne lozinke uzrokuje da korisnik zapisuje svoju novu lozinku u datoteku sjena iako ima “root” kao vlasnik.


15) Želim stvoriti direktorij tako da bilo tko u grupi može stvoriti datoteku i pristupiti datoteci bilo koje osobe u njoj, ali nitko ne bi trebao moći izbrisati datoteku osim one koju je sam stvorio.

Možemo stvoriti direktorij dajući pristup čitanju i izvršavanju svima u grupi i postavljajući njegov ljepljivi bit “t” na sljedeći način:

mkdir direc1
 
chmod g+wx direc1
 
chmod +t direc1

16) Kako možete saznati koliko dugo sustav radi?

To možemo pronaći pomoću naredbe "uptime".


17) Kako bilo koji korisnik može saznati sve informacije o određenom korisniku poput njegove zadane ljuske, stvarnog imena, zadanog direktorija, kada i koliko dugo koristi sustav?

finger “loginName” …gdje je loginName ime za prijavu

korisnik čije se informacije očekuju.


18) Koja je razlika između $$ i $!?

$$ daje ID procesa koji se trenutno izvodi dok $! Prikazuje ID procesa koji je nedavno otišao u pozadinu.


19) Što su zombi procesi?

To su procesi koji su umrli, ali čiji izlazni status još uvijek nije odabran od strane nadređenog procesa. Ovi procesi, čak i ako nisu funkcionalni, i dalje imaju svoj ID proces u tablici procesa.


20) Kako ćete kopirati datoteku s jednog stroja na drugi?

Možemo koristiti uslužne programe kao što su "ftp", "scp" ili "rsync" za kopiranje datoteke s jednog računala na drugo.

Npr. korištenje ftp-a:

FTP naziv hosta

>stavi file1

> bok

Iznad kopija, datoteka file1 s lokalnog sustava na odredišni sustav čiji je naziv glavnog računala naveden.


Pitanja i odgovori za intervju za Shell Scripting za iskusne

21) Želim pratiti datoteku dnevnika koja se stalno ažurira, koja se naredba može koristiti za najučinkovitije postizanje toga?

Možemo koristiti tail –f naziv datoteke. To će uzrokovati prikaz samo zadanih zadnjih 10 redaka na std o/p koji kontinuirano prikazuje dio datoteke koji se ažurira.


22) Želim se spojiti na udaljeni poslužitelj i izvršiti neke naredbe, kako to mogu postići?

Za ovo možemo koristiti ssh:

ssh korisničko ime@IP poslužitelja -p sshport

Primjer

ssh root@122.52.251.171 -p 22

Nakon što se gornja naredba izvrši, od vas će se tražiti da unesete lozinku


23) Imam 2 datoteke i želim ispisati zapise koji su zajednički za obje.

Naredbu “comm” možemo koristiti na sljedeći način:

comm -12 file1 file2 … 12 će potisnuti sadržaj koji su

jedinstveno za 1st i 2nd datoteka odnosno.


24) Napišite skriptu za ispis prvih 10 elemenata Fibonaccijevog niza.

  
#!/bin/sh
a=1
b=1
echo $a
echo $b
for I in 1 2 3 4 5 6 7 8
do
c=a
b=$a
b=$(($a+$c))
echo $b
done

25) Kako ćete se povezati s poslužiteljem baze podataka iz Linuxa?

Možemo koristiti isql uslužni program koji dolazi s otvorenim upravljačkim programom klijenta na sljedeći način:

isql –S serverName –U korisničko ime –P lozinka


26) Koja su 3 standardna toka u Linuxu?

0 – Standardni ulaz1 – Standardni izlaz2 – Standardna pogreška


27) Želim pročitati sav ulaz u naredbu iz datoteke 1, usmjeriti sav izlaz u datoteku 2, a pogrešku u datoteku 3, kako to mogu postići?

naredba datoteka1 1>datoteka2


28) Što će se dogoditi s mojim trenutnim procesom kada izvršim naredbu koristeći exec?

“exec” prekriva novo račvasti proces na trenutnom procesu; pa kad izvršim naredbu koristeći exec, naredba se izvršava na trenutnoj ljusci bez stvaranja novih procesa.

Npr. Izvršavanje "exec ls" na naredbenom retku će izvršiti ls i kada ls izađe, proces će se ugasiti


29) Kako ćete emulirati wc –l koristeći awk?

awk 'END {print NR} fileName'


30) U datoteci pronađite broj redaka koji sadrže riječ "ABC".

grep –c “ABC” datoteka1


31) Koja je razlika između grep i egrep?

egrep je prošireni grep koji podržava dodane grep značajke kao što su “+” (1 ili više pojavljivanja prethodnog znaka),”?” (0 ili 1 pojavljivanje prethodnog znaka) i “|” (alternativno podudaranje)


32) Kako postaviti niz u Linuxu?

Sintaksa u ksh:

Set –A arrayname= (element1 element2 ….. element)
In bash
A=(element1 element2 element3 …. elementn)

33) Zapišite sintaksu "for" petlje

Sintaksa:

for  iterator in (elements)
do
execute commands
done

34) Kako ćete pronaći ukupni prostor na disku koji koristi određeni korisnik?

du -s /home/user1 ….gdje je korisnik1 korisnik za kojeg treba pronaći ukupni prostor na disku.


35) Napišite sintaksu za "if" uvjete u Linuxu?

Sintaksa

If  condition is successful
then
execute commands
else
execute commands
fi

36) Koje je značenje $?

Naredba $? daje status izlaza posljednje izvršene naredbe.


37) Kako možemo izbrisati sve prazne retke u datoteci?

sed  '^ [(backslash)011(backslash)040]*$/d' file1

gdje je (obrnuta kosa crta)011 oktalni ekvivalent razmaka i

(obrnuta kosa crta)040 je oktalni ekvivalent tabulatoru


38) Kako ću umetnuti redak “ABCDEF” na svakih 100th linija datoteke?

sed '100i\ABCDEF' datoteka1


39) Napišite niz naredbi za pronalaženje svih datoteka izmijenjenih u manje od 2 dana i ispis broja zapisa za svaku.

pronaći . –mtime -2 –exec wc –l {} \;


40) Kako mogu postaviti zadanu rwx dozvolu za sve korisnike na svakoj datoteci koja je stvorena u trenutnoj ljusci?

Možemo koristiti:

umask 777

Ovo će postaviti zadanu rwx dozvolu za svaku datoteku koja je stvorena za svakog korisnika.


41) Kako možemo pronaći naziv procesa iz ID-a njegovog procesa?

Možemo koristiti "ps –p ProcessId"


42) Koje su četiri temeljne komponente svakog datotečnog sustava na Linuxu?

Bootblock, super block, inode block i Datablock temeljne su komponente svakog datotečnog sustava na Linuxu.


43) Što je blok za pokretanje?

Ovaj blok sadrži mali program pod nazivom "Master Boot record" (MBR) koji učitava kernel tijekom pokretanja sustava.


44) Što je super blok?

Super blok sadrži sve informacije o datotečnom sustavu kao što je veličina datotečnog sustava, veličina bloka koja se koristi prema broju slobodnih blokova podataka i popis slobodnih inodeova i blokova podataka.


45) Što je blok inode?

Ovaj blok sadrži inode za svaku datoteku datotečnog sustava zajedno sa svim atributima datoteke osim njenog naziva.


46) Kako mogu poslati e-poštu s komprimiranom datotekom kao privitkom?

zip file1.zip file1|mailx –s “subject” ID e-pošte primatelja

Sadržaj e-pošte

EOF


47) Kako stvaramo pseudonime naredbi u ljusci?

alias Aliasname=”Naredba čiji alias treba kreirati”.


48) Što su "c" i "b" polja dopuštenja datoteke?

"c" i "b" polja dopuštenja općenito su povezani s datotekom uređaja. Određuje je li datoteka datoteka s posebnim znakovima ili datoteka s posebnim blokovima.


49) Čemu služi shebang linija?

Shebang linija na vrhu svake skripte određuje lokaciju stroja koji će se koristiti za izvršavanje skripte.

Ova pitanja za intervju također će vam pomoći u vašem životu