50 Shell Scripting interjú kérdés és válasz (2025)
Linux Shell Scripting interjú Kérdések és válaszok
1) Mi az a héj?
A Shell egy interfész a felhasználó és a kernel között. Még akkor is, ha csak egy kernel lehet; egy rendszerben több shell futhat egyszerre. Tehát amikor a felhasználó beír egy parancsot a billentyűzeten keresztül, a shell kommunikál a kernellel, hogy végrehajtsa azt, majd megjelenítse a kimenetet a felhasználónak.
👉 Ingyenes PDF letöltés: Shell Scripting interjú kérdések és válaszok
2) Mi az a Shell Scripting?
Shell Scripting egy nyílt forráskódú számítógépes program, amelyet a Unix/Linux rendszerhéj általi futtatásra terveztek. A Shell Scripting egy olyan program, amely parancsok sorozatát írja le a shell végrehajtásához. A hosszadalmas és ismétlődő parancssorozatokat egyetlen egyszerű szkriptben tudja kombinálni, amely bármikor tárolható és végrehajtható, ami csökkenti a programozási erőfeszítéseket.
3) Melyek az általánosan használt shell-típusok egy tipikus Linux rendszeren?
csh, ksh, bash, Bourne . A manapság leggyakrabban használt és legfejlettebb shell a „Bash”.
4) Mi egyenértékű a fájl parancsikonnal, hogy van egy ablakunk egy Linux rendszeren?
A parancsikonok „linkek” használatával jönnek létre Linuxon. Kétféle hivatkozás használható, nevezetesen a „soft link” és a „hard link”.
5) Mi a különbség a lágy és kemény linkek között?
A puha hivatkozások a fájlnévre mutató hivatkozások, és különböző fájlrendszereken is lehetnek; azonban a merev hivatkozások a fájl inode-jára mutató hivatkozások, és ugyanazon a fájlrendszeren kell lenniük, mint a fájlnak. Az eredeti fájl törlése a soft linket inaktívvá teszi (szakadt hivatkozás), de nincs hatással a merev hivatkozásra (a merev hivatkozás továbbra is hozzáfér a fájl másolatához)
6) Hogyan adjuk át és érjük el az argumentumokat egy szkripthez Linuxban?
Az érveket a következőképpen lehet átadni:
scriptName “Arg1” “Arg2″….”Argn”, és a szkripten belül $1 , $2 .. $n néven érhető el
7) Mi a különbség a $* és a $@ között?
A $@ minden idézett argumentumot külön argumentumként kezel, de a $* a pozícióparaméterek teljes halmazát egyetlen karakterláncnak tekinti.
8) Használja a sed parancsot a fájl tartalmának cseréjéhez (emulate tac parancs)
Például:
if cat fille ABCD EFGH
Akkor az O/p legyen
EFGH
ABCD
sed '1! G; h;$!d' file1
Itt a G parancs hozzáfűződik a mintatérhez,
h parancs a mintapuffert a puffer tárolására másolja
és a d parancs törli az aktuális mintateret.
9) Adott egy fájl, cserélje ki az „ABC” szó minden előfordulását „DEF”-re 5-tőlth sor végéig csak azokban a sorokban, amelyekben az „MNO” szó szerepel
sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'
10) Adott egy fájl, írjon egy parancssort az egyes szavak számának meghatározásához.
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"
A „(backslash)011” a „tabulátor karakter” és oktális megfelelője
A „(backslash)012” az újsor karakter oktális megfelelője.
11) Hogyan találja meg a 99-et?th egy fájl sorában csak a tail és head parancsot használja?
farok +99 reszelő1|fej -1
12) Nyomtassa ki a 10th sort a farok és a fej parancs használata nélkül.
sed –n '10p' file1
13) A bash shellben azt szeretném, hogy a promptom '$”Present working directory”:”hostname”> formátumú legyen, és bejelentkezés után azonnal betöltsön egy fájlt, amely a felhasználó által definiált függvények listáját tartalmazza. Hogyan automatizálja ezt ?
Bash shellben létrehozhatunk „.profile” fájlt, amely automatikusan meghívódik, amint bejelentkezem, és beleírom a következő szintaxist.
export PS1='$ `pwd`:`hostname`>' .File1
Itt a File1 a felhasználó által definiált függvényeket és a „.” meghívja ezt a fájlt az aktuális shellben.
14) Magyarázza el az „s” engedélybitet egy fájlban?
Az „s” bitet „felhasználói azonosító beállítása” (SUID) bitnek nevezik.
A fájlon lévő „s” bit azt eredményezi, hogy a folyamat a fájl tulajdonosának jogaival rendelkezik a program példánya alatt.
Például a „passwd” parancs végrehajtása az aktuális jelszó megváltoztatásához azt eredményezi, hogy a felhasználó beírja az új jelszavát az árnyékfájlba, még akkor is, ha a „root” a tulajdonosa.
15) Létre akarok hozni egy olyan könyvtárat, ahol a csoportban bárki létrehozhat egy fájlt, és hozzáférhet bármely személy fájljához, de senki sem törölhet más fájlt, csak a saját maga által létrehozott fájlt.
Létrehozhatjuk azt a könyvtárat, amely olvasási és végrehajtási hozzáférést biztosít mindenkinek a csoportban, és beállíthatja a „t” ragadós bitjét az alábbiak szerint:
mkdir direc1 chmod g+wx direc1 chmod +t direc1
16) Hogyan lehet megtudni, hogy mennyi ideje fut a rendszer?
Ezt az „uptime” paranccsal találhatjuk meg.
17) Hogyan tudhat meg egy felhasználó minden információt egy adott felhasználóról, mint például az alapértelmezett shell, valós neve, alapértelmezett könyvtár, mikor és mennyi ideig használja a rendszert?
ujj „loginName” …ahol a loginName a bejelentkezési neve
felhasználó, akinek az információit várják.
18) Mi a különbség a $$ és a $ között!?
$$ megadja az éppen futó folyamat folyamatazonosítóját, míg a $! A nemrégiben háttérbe került folyamat folyamatazonosítóját mutatja.
19) Mik azok a zombi folyamatok?
Ezek azok a folyamatok, amelyek elhaltak, de a kilépési állapotukat még mindig nem választotta ki a szülőfolyamat. Ezeknek a folyamatoknak még ha nem is működőképesek, akkor is megvan a folyamatazonosítójuk a folyamattáblában.
20) Hogyan másol egy fájlt egyik gépről a másikra?
Használhatunk olyan segédprogramokat, mint az „ftp”, „scp” vagy „rsync”, hogy átmásoljunk egy fájlt egyik gépről a másikra.
Pl. ftp használatával:
FTP gazdagépnév
>tegye be a fájlt1
> viszlát
A fenti másolatok a fájl1 fájl a helyi rendszerről a célrendszerre, amelynek gazdagépneve meg van adva.
Shell Scripting interjú kérdések és válaszok tapasztaltaknak
21) Folyamatosan frissülő naplófájlt szeretnék figyelni, milyen paranccsal lehet ezt a leghatékonyabban elérni?
Használhatjuk a tail –f fájlnevet. Ez azt eredményezi, hogy csak az alapértelmezett utolsó 10 sor jelenik meg az std o/p-n, amely folyamatosan mutatja a fájl frissítő részét.
22) Szeretnék csatlakozni egy távoli szerverhez és végrehajtani néhány parancsot, hogyan érhetem el ezt?
Ehhez használhatjuk az ssh-t:
ssh felhasználónév@szerverIP -p sshport
Példa
ssh root@122.52.251.171 -p 22
A fenti parancs végrehajtása után meg kell adnia a jelszót
23) Van 2 fájlom, és ki szeretném nyomtatni azokat a rekordokat, amelyek mindkettőben közösek.
A „comm” parancsot a következőképpen használhatjuk:
comm -12 fájl1 fájl2 … 12 elnyomja a tartalmat
egyedi 1st és 2nd fájlt.
24) Írj egy forgatókönyvet a Fibonacci sorozat első 10 elemének kinyomtatásához.
#!/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) Hogyan fogsz csatlakozni egy adatbázis-kiszolgálóhoz Linuxról?
A nyílt kliens-illesztőprogramhoz tartozó isql segédprogramot a következők szerint használhatjuk:
isql –S szervernév –U felhasználónév –P jelszó
26) Mi a 3 szabványos adatfolyam a Linuxban?
0 – Standard Input1 – Standard Output2 – Standard Error
27) Szeretném beolvasni a parancs összes bemenetét a fájl1-ből, az összes kimenetet a fájl2-be, a hibát pedig a 3-asba, hogyan érhetem el?
parancs fájl1 1>fájl2
28) Mi fog történni a jelenlegi folyamatommal, ha végrehajtok egy parancsot az exec paranccsal?
Az „exec” átfedi az újonnan elágazott folyamatot az aktuális folyamatra; így amikor végrehajtom a parancsot az exec használatával, a parancs az aktuális shell-en kerül végrehajtásra anélkül, hogy új folyamatokat hozna létre.
Pl. Végrehajtás "exec ls"
a parancssorban végrehajtja az ls-t, és amint az ls kilép, a folyamat leáll
29) Hogyan emulálja a wc –l-t awk használatával?
awk 'END {print NR} fileName'
30) Adott egy fájl, keresse meg az „ABC” szót tartalmazó sorok számát.
grep –c „ABC” fájl1
31) Mi a különbség a grep és az egrep között?
Az egrep egy kiterjesztett grep, amely támogatja a hozzáadott grep funkciókat, mint például a „+” (egy korábbi karakter 1 vagy több előfordulása),”?” (egy korábbi karakter 0 vagy 1 előfordulása) és „|” (alternatív egyezés)
32) Hogyan állítsunk be egy tömböt Linuxban?
Szintaxis ksh-ben:
Set –A arrayname= (element1 element2 ….. element) In bash A=(element1 element2 element3 …. elementn)
33) Írja le a „for” ciklus szintaxisát
Syntax:
for iterator in (elements) do execute commands done
34) Hogyan találja meg az adott felhasználó által használt teljes lemezterületet?
du -s /home/user1 ….ahol user1 az a felhasználó, akinek a teljes lemezterületet meg kell találni.
35) Írja meg az „if” feltételes feltétel szintaxisát Linuxban?
Szintaxis
If condition is successful then execute commands else execute commands fi
36) Mi a $ jelentősége?
A parancs $? az utoljára végrehajtott parancs kilépési állapotát adja meg.
37) Hogyan törölhetjük az összes üres sort egy fájlból?
sed '^ [(backslash)011(backslash)040]*$/d' file1
ahol a (fordított perjel)011 a tér és oktális megfelelője
A (backslash)040 a tabulátor oktális megfelelője
38) Hogyan szúrhatok be egy „ABCDEF” sort minden 100th egy fájl sora?
sed '100i\ABCDEF' fájl1
39) Írjon egy parancssort a 2 napnál rövidebb idő alatt módosított összes fájl megkereséséhez, és nyomtassa ki mindegyik rekordszámát.
megtalálja . –mtime -2 –exec wc –l {} \;
40) Hogyan állíthatom be az alapértelmezett rwx engedélyt minden felhasználó számára az aktuális shellben létrehozott összes fájlban?
Tudjuk használni:
umask 777
Ez beállítja az alapértelmezett rwx engedélyt minden egyes felhasználó számára létrehozott fájlhoz.
41) Hogyan találhatjuk meg a folyamat nevét a folyamatazonosítóból?
Tudjuk használni "ps –p ProcessId"
42) Mi a négy alapvető összetevője minden fájlrendszernek Linuxon?
A rendszerindítási blokk, a szuperblokk, az inode blokk és a Datablock minden Linux fájlrendszer alapvető összetevői.
43) Mi az a rendszerindító blokk?
Ez a blokk egy „Master Boot record” (MBR) nevű kis programot tartalmaz, amely betölti a kernelt a rendszerindítás során.
44) Mi az a szuperblokk?
A szuperblokk tartalmazza a fájlrendszerrel kapcsolatos összes információt, például a fájlrendszer méretét, a szabad adatblokkok száma által használt blokkméretet, valamint a szabad inode-ok és adatblokkok listáját.
45) Mi az inode blokk?
Ez a blokk tartalmazza a fájlrendszer minden fájljának inode-ját, valamint az összes fájlattribútumot, kivéve a nevét.
46) Hogyan küldhetek e-mailt tömörített fájl mellékletként?
zip fájl1.zip fájl1|mailx –s „tárgy” Címzett e-mail azonosítója
E-mail tartalma
EOF
47) Hogyan hozzunk létre parancsálneveket egy shellben?
alias Aliasname=”Parancs, amelynek álnevét létre kell hozni”.
48) Mik azok a „c” és „b” engedélymezők egy fájlban?
„c” és „b” engedélymezők általában egy eszközfájlhoz vannak társítva. Meghatározza, hogy egy fájl egy speciális karakterfájl vagy egy speciális blokkfájl.
49) Mire jó a shebang vonal?
Az egyes szkriptek tetején található Shebang sor határozza meg a szkript végrehajtásához használandó motor helyét.
Ezek az interjúkérdések a viva-ban is segítenek.