Tartalomjegyzék[Elrejt][Előadás]
- 1. Mi is pontosan a héj?
- 2. Mi is pontosan a Shell Scripting?
- 3. Magyarázza el a shell scripting előnyeit!
- 4. Ismertesse a GUI programozást.
- 5. A shell programozásban pontosan mi is az a szuperblokk?
- 6. Sorolja fel a hozzáférhető héjak számos fajtáját.
- 7. Írja le a különbséget a Bourne Shell és a C Shell között!
- 8. Mik is pontosan a Shell-változók?
- 9. Milyen sokféle változó található a Shell Scriptben?
- 10. Melyik parancsot használjuk a shell fájl futtatására?
- 11. Mit tud mondani a Super Block in Shell szkriptekről?
- 12. Mi is pontosan a metakarakter?
- 13. Mi a különbség a lágy és kemény linkek között?
- 14. Mit jelent a Shebang sor a Shell Scriptingben?
- 15. Milyen több lépésen megy keresztül egy Linux folyamat?
- 16. Ismertesse a Crontabot.
- 17. Mik is pontosan a vezérlési utasítások?
- 18. Mi a különbség a $* és a $@ között?
- 19. Kérjük, magyarázza el, hogyan hasonlítja össze a karakterláncokat egy shell szkriptben.
- 20. Hogyan hozhatok létre, olvashatok és távolíthatok el fájlokat?
- 21. Meg lehet különböztetni a kemény és lágy hivatkozásokat a shell szkriptekben?
- 22. Hogyan oldja meg a shell program hibáit?
- 23. Hány blokk van egy fájlrendszerben?
- 24. Miért gyengén tipizált nyelv a bash?
- 25. Milyen hosszú egy változó egy shell scriptben?
- 26. Nevezze el az echo helyettesítő parancsát.
- 27. Határozza meg az IFS-t
- 28. Lehetséges számos szkript futtatása egy Shellben?
- 29. Milyen sokféle vi szerkesztő mód van?
- 30. Mi a különbség a $ között! és $$?
- 31. Mit jelent a $#?
- 32. Nevezze el a biztonsági másolat létrehozásához használt parancsot.
- 33. Mikor nem megfelelő a Shell Scripting használata?
- 34. Hogyan fogsz csatlakozni egy adatbázis-kiszolgálóhoz Linuxról?
- 35. Mi a két crontab parancsfájl?
- 36. Mi a három különböző UNIX biztonsági védelem egy fájl vagy adat esetében?
- 37. Magyarázza el röviden a sed parancsot egy példa segítségével.
- 38. A shell scriptingben mi a célja a nyílt kliens-illesztőprogramhoz tartozó eszközöknek?
- 49. Nevezze meg a parancsot, amelyet a rendszer időtartamának meghatározásához kell használni.
- 40. Készítsen szkriptet számos érték hozzáadásához.
- 41. Hozzon létre egy függvénypéldát.
- Következtetés
A shell script egy számítógépes program vagy parancssori értelmező, amelyet a Unix shell futtatására szántak. A shell-szkriptek felépítésének legszebb szempontja, hogy az utasítások és a szintaxis megegyeznek a közvetlenül a parancssorban megadottakkal.
A Linux egy népszerű nyílt forráskódú operációs rendszer, amely magas szintű biztonságáról és parancssori felületéről ismert. A feltörekvő DevOps mérnökök számára létfontosságú, hogy megértsék a shell szkripteket vagy a bash szkripteket.
Ha ismeri a shell-szkriptet, és állásinterjúra készül, ez a shell-szkriptekkel kapcsolatos interjúkérdések és válaszok cikk a legjobb shell-szkriptekkel kapcsolatos interjúkérdéseket kínálja, amelyek megkönnyítik a felkészülést.
1. Mi is pontosan a héj?
A shell hídként szolgál a felhasználó és a kernel között. Annak ellenére, hogy csak egy kernel lehet, egy rendszerben több shell futhat egyszerre.
Ennek eredményeként, amikor a felhasználó beír egy parancsot a billentyűzetre, a shell beszél a kernellel, hogy végrehajtsa azt, majd megjeleníti az eredményeket a felhasználónak.
2. Mi is pontosan a Shell Scripting?
A Shell Scripting egy ingyenes és nyílt forráskódú számítógépes szoftver, amely Unix/Linux rendszerhéjban fut. A Shell Scripting szoftver lehetővé teszi, hogy parancssorokat írjon, amelyeket a shell végrehajt.
A hosszadalmas és ismétlődő parancssorozatokat egyetlen és egyszerű szkriptbe tudja integrálni, amely bármikor menthető és végrehajtható, csökkentve ezzel a programozási erőfeszítéseket.
3. Magyarázza el a shell scripting előnyeit!
- Szinte minden jelenlegi operációs rendszer, beleértve a UNIX-ot, a Linuxot, a BSD-t és a Mac OS X-et is, képes shell-szkriptek futtatására, mivel azok értelmezett nyelven készülnek.
- Egy interaktív hibakereső eszköz, amely gyors indítást is biztosít.
- Időt takarít meg azáltal, hogy segít automatizálni az adminisztratív feladatokat.
- A programozóknak nem kell módosítaniuk a szintaxisukat, mert a parancs és a szintaxis megegyezik az egyenesen a parancssorba helyezettekkel.
- A shell-szkriptek használata és írása egyszerű.
- Ezzel az eszközzel szoftveralkalmazásokat lehet előállítani a megfelelő platformoknak megfelelően.
- Egyedi utasítások helyett tömeges végrehajtásra is használhatók.
- Használhatja saját egyedi operációs rendszerének létrehozására a szükséges funkciókkal.
4. Ismertesse a GUI programozást.
A Grafikus felhasználói felület A számítógép és az alkalmazások működtetéséhez szükséges (GUI) programozást GUI-szkriptnek nevezik. Több operációs rendszerrel működik, és különféle programok vezérlésére szolgál.
5. A shell programozásban pontosan mi is az a szuperblokk?
A szuperblokknak nevezett szoftver bizonyos fájlrendszerek rekordjait tárolja. A blokkban megtalálható tulajdonságok közé tartozik a méret, a kitöltött és üres blokkok száma, a használati adatok, a blokkcsoport mérete, valamint az inode táblák helye és mérete.
6. Sorolja fel a hozzáférhető héjak számos fajtáját.
- Bourne shell: Bourne típusú shell használatakor az alapértelmezett prompt a $ szimbólum.
- C Shell: C-típusú shell használata esetén az alapértelmezett prompt a % karakter.
- Korn shell: A Korn egy Unix-alapú Shell szkriptalkalmazás, amely eredetileg a Bash Shell Scriptingen alapult. Ez a héj rendkívül összetett és magas szintű programozási nyelv.
- TCSH: A TCSH-nak nincs egyetlen teljes formája. Ez így van. A TCSH a Berkeley Unix C shell egy kifinomultabb változata. Most már támogatja a C szintaxist.
7. Írja le a különbséget a Bourne Shell és a C Shell között!
Bourne Shell: kompaktsága és gyorsasága különbözteti meg a többi héjtól. Hiányoznak azonban az interaktív elemek, például a korábbi kérések emlékezésének képessége. Továbbá a számtan és logikai kifejezések nem támogatja a Bourne shell.
C Shell: Ez egy UNIX fejlesztés, amely interaktív funkciókat, például álneveket és parancselőzményeket tartalmaz. A beépített aritmetikai és kifejezési nyelvtanon kívül egyszerű programozási lehetőségeket is tartalmaz.
8. Mik is pontosan a Shell-változók?
A shell-változók minden Shell-program vagy szkript alapját képezik. A változók lehetővé teszik a Shell számára, hogy adatokat tároljon és módosítson egy Shell-alkalmazáson belül. A karakterlánc-változókat általában shell-változók tárolására használják.
9. Milyen sokféle változó található a Shell Scriptben?
Az operációs rendszer (Linux) rendszer által definiált változókat hoz létre és definiál. Ezeket a változókat gyakran nagybetűkkel határozzák meg, és a „set” paranccsal vizsgálhatók.
A felhasználó által definiált változókat a rendszerfelhasználók állítják elő vagy adják meg, és értékeik az „echo” parancs végrehajtásával vizsgálhatók.
10. Melyik parancsot használjuk a shell fájl futtatására?
11. Mit tud mondani a Super Block in Shell szkriptekről?
A Super Block egyszerűen olyan szoftver, amely információkat tárol bizonyos fájlrendszerekről.
A szuperblokk olyan információkat tartalmaz, mint a blokk mérete, az üres és teli blokkok száma és a hozzájuk tartozó számok, az inode táblák mérete és elhelyezése, a lemezblokk térképe, valamint a használati statisztikák és a blokkcsoportok mérete.
12. Mi is pontosan a metakarakter?
A metakarakter egy egyedi karakter, amely beépül a shell programjába vagy adatmezőjébe. Információt nyújt más karakterekről. Például az „s” karakterrel kezdődő összes fájl listázásához használja az „ls s*” parancsot.
13. Mi a különbség a lágy és kemény linkek között?
A lágy hivatkozások a fájlnévhez kapcsolódnak, és különféle fájlrendszereken élhetnek; míg a merev hivatkozások a fájl inode-jához kapcsolódnak, é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 (megszakadt hivatkozás), de nincs hatással a merev kapcsolatra, és a merev hivatkozás továbbra is hozzáfér a fájl másolatához.
14. Mit jelent a Shebang sor a Shell Scriptingben?
A Shebang sor általában a szkript elején található, például #!/bin/sh. Ez a sor határozza meg a motor helyzetét. Általában ez a motor futtatja a szkriptet.
15. Milyen több lépésen megy keresztül egy Linux folyamat?
Egy Linux-folyamat általában a következő négy szakaszon megy keresztül:
- Várakozás: Az erőforrásra a Linux folyamat vár.
- Futás: Jelenleg a Linux folyamat fut.
- Leállítva: Sikeres végrehajtás után a Linux folyamat leáll.
- ZombieeA folyamat leállt, de a folyamattáblázat továbbra is aktívként mutatja.
16. Ismertesse a Crontabot.
A Crontab a cron tábla rövidítése, mivel a „cron” jobütemezőt használják a feladatok végrehajtására. Rendszeresen végrehajtott parancsok gyűjteménye, és a parancs neve is vezérli a listát.
Az ütemezést és az ütemezés módosításához használt eszközt egyaránt Crontabnak hívják.
17. Mik is pontosan a vezérlési utasítások?
A vezérlőutasítások azt jelzik, hogy a szkript különböző utasításai hogyan lesznek végrehajtva. Általában a Shell alkalmazásokban használják értékelésre szabályozza az áramlást.
Ezen utasítások nélkül a shell script végrehajtása sorrendben megy végbe. A vezérlő utasítások befolyásolják a végrehajtás menetét a shell programokban.
18. Mi a különbség a $* és a $@ között?
A $@ minden idézett argumentumot külön argumentumnak tekint, míg a $* a pozícióparaméterek teljes gyűjteményét egyetlen karakterláncnak tekinti.
19. Kérjük, magyarázza el, hogyan hasonlítja össze a karakterláncokat egy shell szkriptben.
A "teszt" parancs a szöveges karakterláncok összehasonlítására szolgál. Ez a parancs összehasonlítja a szöveges karakterláncokat az egyes karakterláncok karaktereinek összehasonlításával.
20. Hogyan hozhatok létre, olvashatok és távolíthatok el fájlokat?
21. Meg lehet különböztetni a kemény és lágy hivatkozásokat a shell szkriptekben?
A shell scripting egy erős megoldás, amely a Windowshoz hasonlóan hivatkozásokat használ a parancsikonok létrehozásához. A puha hivatkozásoknak nincs rögzített helyük, és ugyanazon a fájlrendszeren belül mindenhol megtalálhatók.
Általában a fájlnévhez vannak kötve. A merev hivatkozások viszont ugyanazon a fájlrendszeren maradnak. A legtöbb helyzetben a kemény kapcsolatok csomópontokhoz vannak társítva, és meghatározott helyzetük van.
22. Hogyan oldja meg a shell program hibáit?
A szkripthibák elhárításának néhány gyakori módja a következő:
- A Set-x funkció lehetővé teszi a hibakeresést.
- Szúrjon be hibakeresési utasításokat egy shell szkriptbe, hogy olyan információkat jelenítsen meg, amelyek segítik a probléma felfedezését.
23. Hány blokk van egy fájlrendszerben?
- Szuperblokk: Ez a blokk részleteket ad a fájlrendszer állapotáról, beleértve a blokkméretet, a blokkcsoport méretét, a használati adatokat, az üres és kitöltött blokkok számát, az inode táblák méretét és elhelyezését stb.
- Bootblock: A rendszerindító betöltő szoftver, amely akkor fut le, amikor a felhasználó elindítja a gazdagépet, ebben a blokkban van tárolva.
- Adatblokk: Ez az adatblokk a fájlrendszer fájltartalmát tartalmazza.
- Inode tábla: A UNIX minden összetevőt fájlként kezel, és az inode tábla az összes fájllal kapcsolatos adat tárháza.
24. Miért gyengén tipizált nyelv a bash?
Mivel a változók deklarálásánál nincs adattípus deklarációs követelmény, a Bash egy gyengén tipizált nyelv. A változó típusát az aktuális értéke határozza meg, és a Bashban karakterláncként kezelik.
A deklarációs paranccsal Bash-változók definiálhatók.
Az adattípusok meghatározásának lehetőségei azonban korlátozottak, és nem fednek le minden adattípust. Például a deklarációs parancs nem használható a float adattípussal.
25. Milyen hosszú egy változó egy shell scriptben?
A shell szkriptben lévő változó élettartama a végrehajtás befejezéséig tart.
26. Nevezze el az echo helyettesítő parancsát.
A tput parancs az echo alternatívája. Ezzel a paranccsal szabályozhatjuk a kimenet megjelenítését. Ezen túlmenően, a képernyő méretétől függetlenül, a shell szkriptek olyan dolgokat hajthatnak végre, mint például az aláhúzás és a középső szöveg.
27. Határozza meg az IFS-t
Az IFS az Internal Field Separator rövidítése. Ez egy rendszerváltozó, amelynek alapértelmezett értéke szóköz, tabulátor, amelyet egy új sor követ. Az IFS azt jelzi, hogy egy mező vagy szó hol végződik egy sorban, és hol kezdődik egy másik.
28. Lehetséges számos szkript futtatása egy Shellben?
Igen, sok szkript végrehajtható egy Shellben. Egy szkriptet meghívhat egy másikból több szkript futtatásával. Ehhez meg kell adnia a meghívni kívánt szkript nevét.
29. Milyen sokféle vi szerkesztő mód van?
- Parancs mód: ez az a mód, amelyben elkezdi.
- Szerkesztés mód: Ezzel az opcióval későbbi szerkesztéseket hajthat végre.
- Ebben a módban interakcióba lép a vi-val, és utasításokat ad neki a feldolgozáshoz.
30. Mi a különbség a $ között! és $$?
$! Megjeleníti a nemrégiben háttérbe került folyamat folyamatazonosítóját.
A $$ az éppen futó folyamat folyamatazonosítóját adja vissza.
31. Mit jelent a $#?
A $# általában tartalmazza az argumentumok számát, bár ez függvényeknél eltérhet. Egyszerűen leírva, a shell szkriptnek adott parancssori paraméterek számának rögzítésére használták.
32. Nevezze el a biztonsági másolat létrehozásához használt parancsot.
A tar parancs biztonsági mentés létrehozására szolgál. A Tar a szalagos archívum rövidítése, és a tar, gzip és bzip használatával készült biztonsági mentések készítésére szolgál. Ezzel a paranccsal fájlokat lehet menteni és visszaállítani szalagról és szalagra.
Általában a fájlok és könyvtárak tarballokba vannak tömörítve, amelyek archív fájlok. Emiatt ez az egyik leggyakrabban használt utasítás. Ezenkívül a tarball egyszerűen átvihető egyik szerverről a másikra.
33. Mikor nem megfelelő a Shell Scripting használata?
Ne használjunk Shell Scriptinget, ha a munka nagyon összetett, például egy teljes bérfeldolgozó rendszer felépítése.
Ne használjunk Shell Scriptinget, ha a munka nagyfokú termelékenységet igényel.
Ne használjunk Shell Scriptinget, ha a projekt több szoftvermegoldást igényel.
34. Hogyan fogsz csatlakozni egy adatbázis-kiszolgálóhoz Linuxról?
A nyílt kliens meghajtóhoz tartozó isql segédprogramot a következőképpen használhatjuk:
35. Mi a két crontab parancsfájl?
A cron.allow meghatározza, hogy mely felhasználóknak kell engedélyezniük a crontab parancs használatát.
cron.deny, amely meghatározza, hogy a felhasználókat le kell-e tiltani a crontab parancs használatából.
36. Mi a három különböző UNIX biztonsági védelem egy fájl vagy adat esetében?
- Fájlszintű biztonságot nyújt azáltal, hogy olvasási, írási és végrehajtási jogokat ad a fájlok számára.
- A felhasználók számára egyedi felhasználói azonosítót és jelszót kínál a hitelesítéshez, így ismeretlen vagy illetéktelen személyek nem férhetnek hozzá.
- Biztonságot kínál azáltal fájlok titkosítása. Ez a megközelítés lehetővé teszi a fájlok olvashatatlan formátumú kódolását. Még ha egy fájlt megnyitnak is, annak tartalma nem olvasható addig, amíg meg nem oldják.
37. Magyarázza el röviden a sed parancsot egy példa segítségével.
A sed a stream szerkesztő rövidítése. Fájlok szerkesztésére szolgál szerkesztő használata nélkül. Egy adott adatfolyam, például fájl vagy csővezeték bemenet megváltoztatására szolgál.
38. A shell scriptingben mi a célja a nyílt kliens-illesztőprogramhoz tartozó eszközöknek?
A rendszer kizárólag az eszközökön keresztül kapcsolódik egy adatbázis-kiszolgálóhoz. A felhasználóknak számos fontos és szükséges tevékenységet kell elvégezniük a programozáshoz.
A szkriptezéshez több adatra és információra van szükség, és nem mindig célszerű ezeket egy helyen tartani. Az ezt a megközelítést alkalmazó felhasználóknak garantálniuk kell a hibamentes kimenetet.
49. Nevezze meg a parancsot, amelyet a rendszer időtartamának meghatározásához kell használni.
Az Uptime paranccsal meghatározhatja, mennyi ideig működik a rendszer. Az aktív munkamenetekkel rendelkező felhasználók száma és a tipikus rendszerterhelés 1, 5 és 15 perc alatt is elérhető.
Szűrheti is a megjelenített információkat az Ön által hozott döntések szerint.
40. Készítsen szkriptet számos érték hozzáadásához.
41. Hozzon létre egy függvénypéldát.
Következtetés
Felfoghatja, hogy a shell elsősorban egy interfész az operációs rendszer és a felhasználó között, amely a felhasználó által megadott utasításokat az operációs rendszerre vagy a kernelre fordítja a shell-scripting interjúkérdések segítségével.
Ez a koncepció gyakran kulcsfontosságú az interjú előkészítési folyamatában DevOps mérnökök és automatizálási tesztelők. A shell scripting lehetővé teszi különböző bonyolultságú szkriptek létrehozását. A shell-szkriptek számos ismétlődő folyamat automatizálására is használhatók.
Lát Hashdork interjúsorozata segítségért az interjú előkészítéséhez.
Hagy egy Válaszol