50 vragen en antwoorden over Shell Scripting-interviews (2025)

Hier vindt u sollicitatievragen en antwoorden bij Shell Scripting voor zowel nieuwere als ervaren kandidaten om hun droombaan te krijgen.

 

Interviewvragen en antwoorden voor Linux Shell Scripting

1) Wat is een schaal?

Shell is een interface tussen de gebruiker en de kernel. Hoewel er maar één kernel kan zijn, kan een systeem meerdere shells tegelijk laten draaien. Dus wanneer een gebruiker een opdracht invoert via het toetsenbord, communiceert de shell met de kernel om deze uit te voeren en vervolgens de uitvoer aan de gebruiker te tonen.

👉 Gratis pdf-download: vragen en antwoorden over Shell Scripting-interviews


2) Wat is een Shell-scripting?

Shell-scripts is een open-source computerprogramma ontworpen om te worden uitgevoerd door de Unix/Linux-shell. Shell Scripting is een programma dat een reeks opdrachten schrijft die de shell moet uitvoeren. Het kan lange en repetitieve reeksen opdrachten combineren in een enkel en eenvoudig script dat op elk moment kan worden opgeslagen en uitgevoerd, wat de programmeerinspanningen vermindert.

Sollicitatievragen over Shell-scripts


3) Wat zijn de verschillende soorten veelgebruikte shells op een typisch Linux-systeem?

csh,ksh,bash,Bourne. De meest gebruikte en geavanceerde shell die tegenwoordig wordt gebruikt, is "Bash".


4) Wat is het equivalent van een bestandssnelkoppeling die we in een venster op een Linux-systeem hebben?

Snelkoppelingen worden gemaakt met behulp van "links" op Linux. Er zijn twee soorten links die kunnen worden gebruikt, namelijk “zachte link” en “harde link”.


5) Wat is het verschil tussen zachte en harde links?

Zachte links zijn links naar de bestandsnaam en kunnen zich ook op verschillende bestandssystemen bevinden; harde links zijn echter gekoppeld aan de inode van het bestand en moeten zich op hetzelfde bestandssysteem bevinden als dat van het bestand. Als u het originele bestand verwijdert, wordt de zachte link inactief (gebroken link), maar heeft dit geen invloed op de harde link (de harde link heeft nog steeds toegang tot een kopie van het bestand)


6) Hoe ga je argumenten doorgeven aan en toegang krijgen tot een script in Linux?

Argumenten kunnen worden doorgegeven als:

scriptnaam “Arg1” “Arg2″….”Argn” en is binnen het script toegankelijk als $1 , $2 .. $n


7) Wat is het verschil tussen $* en $@?

$@ behandelt alle argumenten tussen aanhalingstekens als afzonderlijke argumenten, maar $* beschouwt de gehele set positionele parameters als één enkele tekenreeks.


8) Gebruik de opdracht sed om de inhoud van het bestand te vervangen (emuleer de opdracht tac)

bv:

if cat fille
ABCD
EFGH

Dan zou O/p moeten zijn

EFGH
ABCD

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

Hier wordt het G-commando toegevoegd aan de patroonruimte,

h-opdracht kopieert patroonbuffer om buffer vast te houden

en de opdracht d verwijdert de huidige patroonruimte.


9) Vervang bij een bestand het woord “ABC” volledig door “DEF” uit 5th regel tot einde in alleen die regels die het woord "MNO" bevatten

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

10) Schrijf, gegeven een bestand, een commandoreeks om het aantal van elk woord te vinden.

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"

“(backslash)011” is een octaal equivalent van “tabteken” en

“(backslash)012” is een octaal equivalent van het nieuweregelteken.


11) Hoe vind je de 99th regel van een bestand met alleen de opdracht tail en head?

staart +99 file1|head -1


12) Druk de 10 afth lijn zonder staart- en hoofdcommando's te gebruiken.

sed –n '10p' file1

13) In mijn bash-shell wil ik dat mijn prompt het formaat '$”Present werkmap”:”hostnaam”> heeft en een bestand laadt met een lijst met door de gebruiker gedefinieerde functies zodra ik inlog, hoe ga je dit automatiseren ?

In de bash shell kunnen we een “.profile” bestand aanmaken dat automatisch wordt aangeroepen zodra ik inlog en de volgende syntaxis erin schrijf.

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

Hier is File1 het bestand met de door de gebruiker gedefinieerde functies en “.” roept dit bestand aan in de huidige shell.


14) Uitleg over de toestemmingsbit “s” in een bestand?

Het “s”-bit wordt het “set user id” (SUID)-bit genoemd.

Het “s”-bit in een bestand zorgt ervoor dat het proces de rechten heeft van de eigenaar van het bestand tijdens de instantie van het programma.

Het uitvoeren van de opdracht “passwd” om het huidige wachtwoord te wijzigen zorgt er bijvoorbeeld voor dat de gebruiker zijn nieuwe wachtwoord naar het schaduwbestand schrijft, ook al heeft dit “root” als eigenaar.


15) Ik wil een map maken zodat iedereen in de groep een bestand kan maken en toegang kan krijgen tot iemands bestand daarin, maar niemand zou een ander bestand moeten kunnen verwijderen dan het bestand dat hij zelf heeft gemaakt.

We kunnen de map maken die lees- en uitvoertoegang geeft aan iedereen in de groep en de sticky bit "t" als volgt instellen:

mkdir direc1
 
chmod g+wx direc1
 
chmod +t direc1

16) Hoe kom je erachter hoe lang het systeem actief is?

Dit kunnen we vinden door het commando “uptime” te gebruiken.


17) Hoe kan een gebruiker alle informatie over een specifieke gebruiker te weten komen, zoals zijn standaard shell, echte naam, standaard directory, wanneer en hoe lang hij het systeem gebruikt?

vinger “loginName” …waar loginName de loginnaam is van de

gebruiker wiens informatie wordt verwacht.


18) Wat is het verschil tussen $$ en $!?

$$ geeft de proces-ID van het momenteel uitgevoerde proces, terwijl $! Toont de proces-ID van het proces dat onlangs naar de achtergrond is gegaan.


19) Wat zijn zombieprocessen?

Dit zijn de processen die zijn overleden, maar waarvan de uitgangsstatus nog steeds niet door het bovenliggende proces is gekozen. Deze processen hebben, zelfs als ze niet functioneel zijn, nog steeds hun proces-ID in de procestabel.


20) Hoe kopieer je een bestand van de ene machine naar de andere?

We kunnen hulpprogramma's zoals "ftp", "scp" of "rsync" gebruiken om een ​​bestand van de ene machine naar de andere te kopiëren.

Bijvoorbeeld ftp gebruiken:

FTP-hostnaam

>plaats bestand1

> doei

Hierboven kopieert bestand file1 van het lokale systeem naar het doelsysteem waarvan de hostnaam is opgegeven.


Shell Scripting Interviewvragen en antwoorden voor ervaren

21) Ik wil een logbestand controleren dat voortdurend wordt bijgewerkt. Welk commando kan worden gebruikt om dit het meest efficiënt te bereiken?

We kunnen tail –f filename gebruiken. Dit zorgt ervoor dat alleen de standaard laatste 10 regels worden weergegeven op std o/p, die continu het updategedeelte van het bestand laat zien.


22) Ik wil verbinding maken met een externe server en enkele opdrachten uitvoeren, hoe kan ik dit bereiken?

We kunnen ssh gebruiken om dit te doen:

ssh gebruikersnaam@serverIP -p sshport

Voorbeeld

ssh root@122.52.251.171 -p 22

Zodra bovenstaande opdracht is uitgevoerd, wordt u gevraagd het wachtwoord in te voeren


23) Ik heb 2 bestanden en ik wil de records afdrukken die voor beide gemeenschappelijk zijn.

We kunnen de opdracht “comm” als volgt gebruiken:

comm -12 file1 file2 … 12 onderdrukt de inhoud die dat wel is

uniek voor 1st en 2nd bestand respectievelijk.


24) Schrijf een script om de eerste 10 elementen van de Fibonacci-reeks af te drukken.

  
#!/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) Hoe maak je verbinding met een databaseserver vanuit Linux?

We kunnen het isql-hulpprogramma dat bij het open-clientstuurprogramma wordt geleverd, als volgt gebruiken:

isql –S servernaam –U gebruikersnaam –P wachtwoord


26) Wat zijn de 3 standaardstreams in Linux?

0 – Standaardingang1 – Standaarduitgang2 – Standaardfout


27) Ik wil alle invoer voor de opdracht van bestand1 lezen, alle uitvoer naar bestand2 en fouten naar bestand 3 sturen, hoe kan ik dit bereiken?

commando bestand1 1>bestand2


28) Wat gebeurt er met mijn huidige proces als ik een opdracht uitvoer met exec?

“exec” legt het nieuw gevorkte proces over het huidige proces heen; dus wanneer ik de opdracht uitvoer met exec, wordt de opdracht uitgevoerd op de huidige shell zonder nieuwe processen te creëren.

Bijvoorbeeld uitvoeren "exec ls" op de opdrachtprompt wordt ls uitgevoerd en zodra ls wordt afgesloten, wordt het proces afgesloten


29) Hoe ga je wc –l emuleren met awk?

awk 'END {print NR} fileName'


30) Zoek, gegeven een bestand, het aantal regels dat het woord “ABC” bevat.

grep –c “ABC” bestand1


31) Wat is het verschil tussen grep en egrep?

egrep is een uitgebreide grep die toegevoegde grep-functies ondersteunt, zoals “+” (1 of meer exemplaren van een vorig teken),”?”(0 of 1 keer dat een vorig teken voorkomt) en “|” (alternatieve matching)


32) Hoe stel ik een array in Linux in?

Syntaxis in ksh:

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

33) Noteer de syntaxis van de “for”-lus

Syntax:

for  iterator in (elements)
do
execute commands
done

34) Hoe kunt u de totale schijfruimte vinden die door een specifieke gebruiker wordt gebruikt?

du -s /home/user1 ….waarbij gebruiker1 de gebruiker is waarvoor de totale schijfruimte moet worden gevonden.


35) Schrijf de syntaxis voor “if”-voorwaarden in Linux?

Syntaxis

If  condition is successful
then
execute commands
else
execute commands
fi

36) Wat is de betekenis van $?

Het commando $? geeft de exit-status van de laatste opdracht die is uitgevoerd.


37) Hoe verwijderen we alle lege regels in een bestand?

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

waarbij (backslash)011 een octaal equivalent is van spatie en

(backslash)040 is een octaal equivalent van de tab


38) Hoe kan ik bij elke 100 een regel “ABCDEF” invoegenth regel van een bestand?

sed '100i\ABCDEF' bestand1


39) Schrijf een opdrachtenreeks om alle bestanden te vinden die in minder dan 2 dagen zijn gewijzigd en druk het recordaantal van elk bestand af.

vinden . –mtime -2 –exec wc –l {} \;


40) Hoe kan ik de standaard rwx-machtiging instellen voor alle gebruikers voor elk bestand dat in de huidige shell wordt gemaakt?

We kunnen gebruiken:

umask 777

Hiermee wordt de standaard rwx-machtiging ingesteld voor elk bestand dat voor elke gebruiker wordt gemaakt.


41) Hoe kunnen we de procesnaam vinden aan de hand van de proces-ID?

We kunnen gebruik maken "ps –p ProcessId"


42) Wat zijn de vier fundamentele componenten van elk bestandssysteem op Linux?

Bootblock, superblok, inodeblok en Datablock zijn fundamentele componenten van elk bestandssysteem op Linux.


43) Wat is een opstartblok?

Dit blok bevat een klein programma genaamd “Master Boot record” (MBR) dat de kernel laadt tijdens het opstarten van het systeem.


44) Wat is een superblok?

Superblok bevat alle informatie over het bestandssysteem, zoals de grootte van het bestandssysteem, de blokgrootte die wordt gebruikt door het aantal vrije datablokken en een lijst met vrije inodes en datablokken.


45) Wat is een inodeblok?

Dit blok bevat de inode voor elk bestand van het bestandssysteem, samen met alle bestandskenmerken behalve de naam.


46) Hoe kan ik een e-mail versturen met een gecomprimeerd bestand als bijlage?

zip file1.zip file1|mailx –s “onderwerp” E-mailadres van de ontvanger

E-mailinhoud

EOF


47) Hoe creëren we opdrachtaliassen in een shell?

alias Aliasname=”Commando waarvan de alias moet worden aangemaakt”.


48) Wat zijn de machtigingsvelden “c” en “b” van een bestand?

“c” en “b” toestemmingsvelden worden over het algemeen geassocieerd met een apparaatbestand. Het specificeert of een bestand een speciaal karakterbestand of een speciaal blokbestand is.


49) Wat is het nut van een shebang-lijn?

De Shebang-regel bovenaan elk script bepaalt de locatie van de engine die moet worden gebruikt om het script uit te voeren.

Deze interviewvragen zullen ook helpen bij je viva (oralen)