50 Shell Scripting-interviewspørgsmål og svar (2025)
Linux Shell Scripting interview spørgsmål og svar
1) Hvad er en skal?
Shell er en grænseflade mellem brugeren og kernen. Selvom der kun kan være én kerne; et system kan have mange skaller kørende samtidigt. Så hver gang en bruger indtaster en kommando via tastaturet, kommunikerer skallen med kernen for at udføre den og derefter vise outputtet til brugeren.
👉 Gratis PDF-download: Shell Scripting-interviewspørgsmål og -svar
2) Hvad er en Shell Scripting?
Shell Scripting er et open source computerprogram designet til at blive kørt af Unix/Linux shell. Shell Scripting er et program til at skrive en række kommandoer, som skallen kan udføre. Det kan kombinere lange og gentagne sekvenser af kommandoer til et enkelt og simpelt script, der kan gemmes og udføres når som helst, hvilket reducerer programmeringsindsatsen.
3) Hvad er de forskellige typer almindeligt anvendte skaller på et typisk Linux-system?
csh, ksh, bash, Bourne . Den mest almindeligt brugte og avancerede skal, der bruges i dag, er "Bash".
4) Hvad svarer til en filgenvej, som vi har et vindue på et Linux-system?
Genveje oprettes ved hjælp af "links" på Linux. Der er to typer links, der kan bruges, nemlig "blødt link" og "hårdt link".
5) Hvad er forskellen mellem bløde og hårde links?
Bløde links er link til filnavnet og kan også ligge på forskellige filtyper; dog er hårde links link til inoden af filen og skal være på samme filsystem som filens. Sletning af den originale fil gør det bløde link inaktivt (brudt link), men påvirker ikke det hårde link (Hårdt link vil stadig få adgang til en kopi af filen)
6) Hvordan vil du videregive og få adgang til argumenter til et script i Linux?
Argumenter kan fremføres som:
scriptnavn “Arg1” “Arg2″….”Argn” og kan tilgås inde i scriptet som $1 , $2 .. $n
7) Hvad er forskellen mellem $* og $@?
$@ behandler hvert citeret argument som separate argumenter, men $* vil betragte hele sættet af positionsparametre som en enkelt streng.
8) Brug sed-kommandoen til at erstatte indholdet af filen (emulate tac-kommando)
F.eks:
if cat fille ABCD EFGH
Så burde O/p være
EFGH
ABCD
sed '1! G; h;$!d' file1
Her føjer G-kommandoen til mønsterrummet,
h-kommando kopierer mønsterbuffer til at holde buffer
og kommandoen d sletter det aktuelle mønsterrum.
9) Givet en fil, erstatte al forekomst af ordet "ABC" med "DEF" fra 5th linje til ende kun i de linjer, der indeholder ordet "MNO"
sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'
10) Givet en fil, skriv en kommandosekvens for at finde antallet af hvert ord.
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" er en oktal ækvivalent til "tab-tegn" og
"(backslash)012" er en oktal ækvivalent til newline-tegnet.
11) Hvordan finder du 99'erenth linje i en fil, der kun bruger kommandoen hale og hoved?
hale +99 fil1|hoved -1
12) Udskriv de 10th linje uden at bruge hale- og hovedkommando.
sed –n '10p' file1
13) I min bash-shell vil jeg have, at min prompt skal have formatet '$"Present working directory":"hostname"> og indlæse en fil, der indeholder en liste over brugerdefinerede funktioner, så snart jeg logger ind, hvordan vil du automatisere dette ?
I bash shell kan vi oprette ".profile" fil, som automatisk bliver påkaldt, så snart jeg logger ind og skriver følgende syntaks ind i den.
export PS1='$ `pwd`:`hostname`>' .File1
Her er File1 filen, der indeholder de brugerdefinerede funktioner og "." kalder denne fil i den aktuelle shell.
14) Forklar om "s" tilladelsesbit i en fil?
"s" bit kaldes "set bruger-id" (SUID) bit.
"s" bit på en fil får processen til at have rettighederne til ejeren af filen under forekomsten af programmet.
For eksempel, udførelse af "passwd"-kommandoen for at ændre den nuværende adgangskode får brugeren til at skrive sin nye adgangskode til skyggefilen, selvom den har "root" som sin ejer.
15) Jeg vil oprette en mappe, så enhver i gruppen kan oprette en fil og få adgang til enhver persons fil i den, men ingen bør være i stand til at slette en anden fil end den, han selv har oprettet.
Vi kan oprette mappen, der giver læse- og eksekveringsadgang til alle i gruppen og indstille dens sticky bit "t" på som følger:
mkdir direc1 chmod g+wx direc1 chmod +t direc1
16) Hvordan kan du finde ud af, hvor længe systemet har kørt?
Vi kan finde dette ved at bruge kommandoen "oppetid".
17) Hvordan kan enhver bruger finde ud af alle oplysninger om en specifik bruger som hans standard shell, virkelige navn, standard mappe, hvornår og hvor længe han har brugt systemet?
finger "loginName" …hvor loginName er loginnavnet på
bruger, hvis oplysninger forventes.
18) Hvad er forskellen mellem $$ og $!?
$$ giver proces-id'et for den igangværende proces, mens $! Viser proces-id'et for den proces, der for nylig gik i baggrunden.
19) Hvad er zombieprocesser?
Det er de processer, der er døde, men hvis exitstatus stadig ikke er valgt af den overordnede proces. Disse processer, selvom de ikke er funktionelle, har stadig deres proces-id-indtastning i procestabellen.
20) Hvordan vil du kopiere en fil fra en maskine til en anden?
Vi kan bruge værktøjer som "ftp", "scp" eller "rsync" til at kopiere en fil fra en maskine til en anden.
Fx ved hjælp af ftp:
FTP-værtsnavn
>sæt fil1
> farvel
Ovenfor kopier, fil fil1 fra det lokale system til destinationssystem, hvis værtsnavn er angivet.
Shell Scripting interview spørgsmål og svar til erfarne
21) Jeg ønsker at overvåge en logfil, der løbende opdateres, hvilken kommando kan bruges til mest effektivt at opnå dette?
Vi kan bruge tail -f filnavn. Dette vil medføre, at kun de sidste 10 linjer som standard vises på std o/p, som løbende viser den opdaterende del af filen.
22) Jeg vil oprette forbindelse til en fjernserver og udføre nogle kommandoer, hvordan kan jeg opnå dette?
Vi kan bruge ssh til at gøre dette:
ssh brugernavn@serverIP -p sshport
Eksempel
ssh root@122.52.251.171 -p 22
Når ovenstående kommando er udført, vil du blive bedt om at indtaste adgangskoden
23) Jeg har 2 filer, og jeg vil gerne udskrive de poster, der er fælles for begge.
Vi kan bruge kommandoen "comm" som følger:
comm -12 fil1 fil2 … 12 vil undertrykke det indhold, der er
unik for 1st og 2nd fil hhv.
24) Skriv et script til at udskrive de første 10 elementer i Fibonacci-serien.
#!/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) Hvordan vil du oprette forbindelse til en databaseserver fra Linux?
Vi kan bruge isql-værktøjet, der følger med åben klientdriver som følger:
isql –S serverName –U brugernavn –P adgangskode
26) Hvad er de 3 standardstreams i Linux?
0 – Standardindgang1 – Standardudgang2 – Standardfejl
27) Jeg vil læse alt input til kommandoen fra fil1 dirigere alt output til fil2 og fejl til fil 3, hvordan kan jeg opnå dette?
kommando fil1 1>fil2
28) Hvad sker der med min nuværende proces, når jeg udfører en kommando ved hjælp af exec?
"exec" overlejrer den nyligt fordelte proces på den aktuelle proces; så når jeg udfører kommandoen ved hjælp af exec, bliver kommandoen eksekveret på den aktuelle shell uden at oprette nye processer.
Fx Eksekvering "exec ls"
på kommandoprompt vil udføre ls og når ls afsluttes, vil processen lukkes ned
29) Hvordan vil du efterligne wc –l ved hjælp af awk?
awk 'END {print NR} fileName'
30) Givet en fil, find antallet af linjer, der indeholder ordet "ABC".
grep –c "ABC" fil1
31) Hvad er forskellen mellem grep og egrep?
egrep er udvidet grep, der understøtter tilføjede grep-funktioner som "+" (1 eller flere forekomster af et tidligere tegn),"?"(0 eller 1 forekomst af et tidligere tegn) og "|" (alternativ matching)
32) Hvordan indstilles et array i Linux?
Syntaks i ksh:
Set –A arrayname= (element1 element2 ….. element) In bash A=(element1 element2 element3 …. elementn)
33) Skriv syntaksen for "for "-løkke ned
Syntaks:
for iterator in (elements) do execute commands done
34) Hvordan finder du den samlede diskplads, der bruges af en bestemt bruger?
du -s /home/user1 ….hvor bruger1 er den bruger, som den samlede diskplads skal findes for.
35) Skrive syntaksen for "hvis"-betingelser i Linux?
Syntaks
If condition is successful then execute commands else execute commands fi
36) Hvad er betydningen af $?
Kommandoen $? giver afslutningsstatus for den sidste kommando, der blev udført.
37) Hvordan sletter vi alle tomme linjer i en fil?
sed '^ [(backslash)011(backslash)040]*$/d' file1
hvor (omvendt skråstreg)011 er en oktal ækvivalent af mellemrum og
(omvendt skråstreg)040 er en oktal ækvivalent til fanen
38) Hvordan indsætter jeg en linje "ABCDEF" for hver 100th linje i en fil?
sed '100i\ABCDEF' fil1
39) Skriv en kommandosekvens for at finde alle de filer, der er ændret på mindre end 2 dage, og udskriv registreringsantallet for hver.
Find . –mtime -2 –exec wc –l {} \;
40) Hvordan kan jeg indstille standard rwx-tilladelsen til alle brugere på hver fil, der er oprettet i den aktuelle shell?
Vi kan bruge:
umask 777
Dette vil indstille standard rwx-tilladelse for hver fil, der oprettes for hver bruger.
41) Hvordan kan vi finde procesnavnet fra dets proces-id?
Vi kan bruge "ps –p ProcessId"
42) Hvad er de fire grundlæggende komponenter i hvert filsystem på Linux?
Bootblock, superblok, inodeblok og datablok findes grundlæggende komponenter i hvert filsystem på Linux.
43) Hvad er en støvleblok?
Denne blok indeholder et lille program kaldet "Master Boot record" (MBR), som indlæser kernen under systemstart.
44) Hvad er en superblok?
Superblok indeholder alle oplysninger om filsystemet som størrelsen af filsystemet, blokstørrelsen brugt af dets antal gratis datablokke og liste over gratis inoder og datablokke.
45) Hvad er en inodeblok?
Denne blok indeholder inoden for hver fil i filsystemet sammen med alle filattributter undtagen dens navn.
46) Hvordan kan jeg sende en mail med en komprimeret fil som en vedhæftet fil?
zip fil1.zip fil1|mailx –s “emne” Modtageres e-mail-id
E-mail-indhold
EOF
47) Hvordan opretter vi kommandoaliasser i en shell?
alias Aliasname=”Kommando, hvis alias skal oprettes”.
48) Hvad er "c" og "b" tilladelsesfelter for en fil?
"c" og "b" tilladelsesfelter er generelt forbundet med en enhedsfil. Det specificerer, om en fil er en specialtegnsfil eller en blokspecialfil.
49) Hvad er brugen af en shebang line?
Shebang-linjen i toppen af hvert script bestemmer placeringen af motoren, som skal bruges til at udføre scriptet.
Disse interviewspørgsmål vil også hjælpe i din viva(orals)