Inhaltsverzeichnis[Ausblenden][Zeigen]
- 1. Was genau ist eine Hülle?
- 2. Was genau ist Shell-Scripting?
- 3. Erklären Sie die Vorteile von Shell-Scripting.
- 4. Beschreiben Sie die GUI-Programmierung.
- 5. Was genau ist in der Shell-Programmierung ein Superblock?
- 6. Listen Sie die zahlreichen Arten zugänglicher Shells auf.
- 7. Schreiben Sie den Unterschied zwischen Bourne-Shell und C-Shell auf.
- 8. Was genau sind Shell-Variablen?
- 9. Was sind die vielen Arten von Variablen in Shell Script?
- 10. Welcher Befehl wird verwendet, um eine Shell-Datei auszuführen?
- 11. Was können Sie mir über den Superblock in Shell-Skripten sagen?
- 12. Was genau ist ein Metazeichen?
- 13. Was ist der Unterschied zwischen Soft- und Hardlinks?
- 14. Was bedeutet die Shebang-Zeile in Shell Scripting?
- 15. Welche Schritte durchläuft ein Linux-Prozess?
- 16. Beschreiben Sie Crontab.
- 17. Was genau sind Steueranweisungen?
- 18. Was ist der Unterschied zwischen $* und $@?
- 19. Erklären Sie bitte, wie Sie Strings in einem Shell-Skript vergleichen.
- 20. Wie kann ich Dateien erstellen, lesen und entfernen?
- 21. Ist es möglich, harte und weiche Links in Shell-Skripten zu unterscheiden?
- 22. Wie werden Sie Fehler im Shell-Programm beheben?
- 23. Wie viele Blöcke gibt es in einem Dateisystem?
- 24. Warum ist Bash eine schwach typisierte Sprache?
- 25. Wie lang hat eine Variable in einem Shell-Skript?
- 26. Benennen Sie den Ersetzungsbefehl für echo.
- 27. IFS definieren
- 28. Ist es möglich, mehrere Skripte in einer Shell auszuführen?
- 29. Was sind die vielen Modi von vi-Editoren?
- 30. Was ist der Unterschied zwischen $! und $$?
- 31. Was bedeutet $#?
- 32. Benennen Sie den Befehl, der zum Erstellen der Sicherung verwendet wurde.
- 33. Wann ist es unangemessen, Shell Scripting zu verwenden?
- 34. Wie werden Sie von Linux aus eine Verbindung zu einem Datenbankserver herstellen?
- 35. Was sind die beiden crontab-Befehlsdateien?
- 36. Was sind die drei unterschiedlichen UNIX-Sicherheitsmechanismen für eine Datei oder Daten?
- 37. Erklären Sie den sed-Befehl kurz anhand eines Beispiels.
- 38. Was ist beim Shell-Scripting der Zweck der Tools, die mit dem Open-Client-Treiber geliefert werden?
- 49. Nennen Sie den Befehl, der verwendet werden soll, um die Dauer des Systems zu bestimmen.
- 40. Erstellen Sie ein Skript, um zahlreiche Werte hinzuzufügen.
- 41. Erstellen Sie ein Funktionsbeispiel.
- Zusammenfassung
Ein Shell-Skript ist ein Computerprogramm oder ein Befehlszeileninterpreter, der von der Unix-Shell ausgeführt werden soll. Das Schönste am Erstellen eines Shell-Skripts ist, dass die Anweisungen und die Syntax mit denen identisch sind, die direkt auf der Befehlszeile eingegeben werden.
Linux ist ein beliebtes Open-Source-Betriebssystem, das für seine hohe Sicherheit und Befehlszeilenschnittstelle bekannt ist. Für angehende DevOps-Ingenieure ist es wichtig, Shell-Skripting oder Bash-Skripting zu verstehen.
Wenn Sie mit Shell-Scripting vertraut sind und sich auf ein Vorstellungsgespräch vorbereiten, wird Ihnen dieser Artikel Fragen und Antworten zu Shell-Scripting-Interviews die besten Fragen zu Shell-Scripting-Interviews liefern, die Ihnen die Vorbereitung erleichtern werden.
1. Was genau ist eine Hülle?
Die Shell dient als Brücke zwischen dem Benutzer und dem Kernel. Obwohl es nur einen Kernel geben kann, können auf einem System mehrere Shells gleichzeitig laufen.
Als Ergebnis spricht die Shell jedes Mal, wenn ein Benutzer einen Befehl in die Tastatur eingibt, mit dem Kernel, um ihn auszuführen, und zeigt dem Benutzer dann die Ergebnisse an.
2. Was genau ist Shell-Scripting?
Shell Scripting ist eine kostenlose Open-Source-Computersoftware, die in der Unix/Linux-Shell ausgeführt wird. Shell-Scripting-Software ermöglicht es Ihnen, eine Reihe von Befehlen zu schreiben, die die Shell ausführt.
Es kann lange und sich wiederholende Befehlssequenzen in ein einziges und einfaches Skript integrieren, das gespeichert und jederzeit ausgeführt werden kann, wodurch der Programmieraufwand reduziert wird.
3. Erklären Sie die Vorteile von Shell-Scripting.
- Fast jedes aktuelle Betriebssystem, einschließlich UNIX, Linux, BSD und Mac OS X, kann Shell-Skripte ausführen, da sie in einer interpretierten Sprache erstellt werden.
- Ein interaktives Debugging-Tool mit schnellem Start.
- Es spart Zeit, indem es hilft, Verwaltungsaufgaben zu automatisieren.
- Programmierer müssen ihre Syntax nicht anpassen, da der Befehl und die Syntax dieselben sind wie diejenigen, die direkt in die Befehlszeile eingegeben werden.
- Shell-Skripte sind einfach zu verwenden und zu schreiben.
- Mit diesem Tool können Softwareanwendungen entsprechend ihrer jeweiligen Plattformen erstellt werden.
- Anstelle von Einzelanweisungen können sie zur Massenausführung verwendet werden.
- Sie können es verwenden, um Ihr eigenes benutzerdefiniertes Betriebssystem mit der erforderlichen Funktionalität zu erstellen.
4. Beschreiben Sie die GUI-Programmierung.
Das Grafische Benutzerschnittstelle Die (GUI)-Programmierung, die zum Betrieb des Computers und der Apps erforderlich ist, wird als GUI-Skripting bezeichnet. Es funktioniert mit mehreren Betriebssystemen und wird zur Steuerung verschiedener Programme verwendet.
5. Was genau ist in der Shell-Programmierung ein Superblock?
Eine als Superblock bezeichnete Software speichert die Aufzeichnungen bestimmter Dateisysteme. Größe, Anzahl gefüllter und leerer Blöcke, Nutzungsdaten, Blockgruppengröße und die Position und Größe von Inode-Tabellen gehören zu den Eigenschaften, die in einem Block gefunden werden können.
6. Listen Sie die zahlreichen Arten zugänglicher Shells auf.
- Bourne-Shell: Bei Verwendung einer Bourne-Shell ist die Standardeingabeaufforderung das $-Symbol.
- C-Shell: Bei Verwendung einer C-Shell ist die Standardeingabeaufforderung das Zeichen %.
- Korn-Shell: Korn ist eine Unix-basierte Shell-Scripting-Anwendung, die ursprünglich auf Bash Shell Scripting basierte. Diese Shell ist sehr komplex und verwendet ein High-Level Programmiersprache.
- TCSH: Es gibt keine vollständige Form von TCSH. So ist es. TCSH ist eine anspruchsvollere Version der Berkeley Unix C-Shell. Es unterstützt jetzt die C-Syntax.
7. Schreiben Sie den Unterschied zwischen Bourne-Shell und C-Shell auf.
Bourne Shell: Seine Kompaktheit und Schnelligkeit unterscheiden es von anderen Shells. Allerdings fehlen interaktive Elemente wie die Möglichkeit, sich frühere Anfragen zu merken. Außerdem Arithmetik u logische Ausdrücke werden von der Bourne-Shell nicht unterstützt.
C-Shell: Dies ist eine UNIX-Verbesserung, die interaktive Funktionen wie Aliase und Befehlsverlauf enthält. Es enthält einfache Programmierfunktionen zusätzlich zu seiner integrierten Arithmetik und Ausdrucksgrammatik.
8. Was genau sind Shell-Variablen?
Shell-Variablen sind die Grundlage jedes Shell-Programms oder -Skripts. Variablen ermöglichen es Shell, Daten innerhalb einer Shell-Anwendung zu speichern und zu ändern. String-Variablen werden häufig verwendet, um Shell-Variablen zu speichern.
9. Was sind die vielen Arten von Variablen in Shell Script?
Das Betriebssystem (Linux) erstellt und definiert systemdefinierte Variablen. Diese Variablen werden oft in Großbuchstaben definiert und können mit dem „set“-Befehl untersucht werden.
Benutzerdefinierte Variablen werden von Systembenutzern generiert oder angegeben, und ihre Werte können durch Ausführen des Befehls „echo“ überprüft werden.
10. Welcher Befehl wird verwendet, um eine Shell-Datei auszuführen?
11. Was können Sie mir über den Superblock in Shell-Skripten sagen?
Ein Superblock ist einfach eine Software, die Informationen über bestimmte Dateisysteme speichert.
Ein Superblock enthält Informationen wie die Blockgröße, die Anzahl leerer und voller Blöcke und ihre entsprechenden Zählungen, die Größe und Platzierung der Inode-Tabellen, die Plattenblockkarte sowie Nutzungsstatistiken und die Größe der Blockgruppen.
12. Was genau ist ein Metazeichen?
Ein Metazeichen ist ein eindeutiges Zeichen, das in das Programm- oder Datenfeld einer Shell integriert wird. Es liefert Informationen zu anderen Charakteren. Um beispielsweise alle Dateien aufzulisten, die mit dem Zeichen „s“ beginnen, verwenden Sie den Befehl „ls s*“.
13. Was ist der Unterschied zwischen Soft- und Hardlinks?
Softlinks sind mit dem Dateinamen verknüpft und können auf verschiedenen Dateisystemen existieren; wohingegen harte Links mit dem Inode der Datei verknüpft sind und sich auf demselben Dateisystem wie die Datei befinden müssen.
Durch das Löschen der Originaldatei wird der Softlink inaktiv (defekter Link), hat aber keine Auswirkung auf die Hardverbindung und der Hardlink greift weiterhin auf eine Kopie der Datei zu.
14. Was bedeutet die Shebang-Zeile in Shell Scripting?
Die Shebang-Zeile befindet sich normalerweise am Kopf des Skripts, zum Beispiel #!/bin/sh. Diese Zeile gibt die Position des Motors an. Diese Engine ist im Allgemeinen diejenige, die das Skript ausführt.
15. Welche Schritte durchläuft ein Linux-Prozess?
Typischerweise durchläuft ein Linux-Prozess die folgenden vier Phasen:
- Waiting: Die Ressource wird vom Linux-Prozess erwartet.
- Wird ausgeführt: Im Moment wird der Linux-Prozess ausgeführt.
- Stopped: Nach erfolgreicher Ausführung wird der Linux-Prozess beendet.
- ZombieeDer Prozess wurde angehalten, aber die Prozesstabelle zeigt ihn immer noch als aktiv an.
16. Beschreiben Sie Crontab.
Crontab steht für Cron-Tabelle, da der Job-Scheduler 'cron' verwendet wird, um die Jobs auszuführen. Es ist eine Sammlung von Befehlen, die regelmäßig ausgeführt werden, und der Name des Befehls steuert auch die Liste.
Der Zeitplan und das Werkzeug zum Ändern des Zeitplans heißen beide Crontab.
17. Was genau sind Steueranweisungen?
Steueranweisungen geben an, wie die verschiedenen Anweisungen des Skripts ausgeführt werden. Sie werden im Allgemeinen in Shell-Anwendungen zur Bewertung verwendet Kontrollfluss.
Ohne diese Anweisungen wird die Ausführung eines Shell-Skripts der Reihe nach fortgesetzt. Steuerbefehle beeinflussen den Ablauf der Ausführung in Shell-Programmen.
18. Was ist der Unterschied zwischen $* und $@?
$@ betrachtet jedes in Anführungszeichen gesetzte Argument als separates Argument, während $* die gesamte Sammlung von Positionsparametern als eine einzelne Zeichenfolge betrachtet.
19. Erklären Sie bitte, wie Sie Strings in einem Shell-Skript vergleichen.
Der 'test'-Befehl wird verwendet, um Textstrings zu vergleichen. Dieser Befehl vergleicht Textzeichenfolgen, indem er die Zeichen jeder Zeichenfolge vergleicht.
20. Wie kann ich Dateien erstellen, lesen und entfernen?
21. Ist es möglich, harte und weiche Links in Shell-Skripten zu unterscheiden?
Shell-Scripting ist eine starke Lösung, die wie Windows Links verwendet, um Verknüpfungen zu erstellen. Softlinks haben keinen festen Ort und können überall im selben Dateisystem gefunden werden.
Sie sind normalerweise an den Dateinamen gebunden. Harte Links hingegen bleiben auf demselben Dateisystem. In den meisten Situationen sind harte Verknüpfungen Knoten zugeordnet und haben eine bestimmte feste Position.
22. Wie werden Sie Fehler im Shell-Programm beheben?
Einige gängige Methoden zur Fehlerbehebung bei Skriptfehlern sind:
- Set-x wird verwendet, um das Debuggen zu ermöglichen.
- Fügen Sie Debug-Anweisungen in ein Shell-Skript ein, um Informationen anzuzeigen, die bei der Erkennung eines Problems helfen.
23. Wie viele Blöcke gibt es in einem Dateisystem?
- Superblock: Dieser Block liefert Details zum Zustand eines Dateisystems, einschließlich Blockgröße, Blockgruppengröße, Nutzungsdaten, Anzahl leerer und gefüllter Blöcke, Größe und Platzierung von Inode-Tabellen usw.
- Bootblock: In diesem Block ist die Bootstrap-Loader-Software gespeichert, die ausgeführt wird, wenn ein Benutzer das Hostsystem bootet.
- Datenblock: Dieser Datenblock enthält den Dateiinhalt des Dateisystems.
- Inode-Tabelle: UNIX behandelt alle Komponenten als Dateien, und die Inode-Tabelle ist das Repository für alle dateibezogenen Daten.
24. Warum ist Bash eine schwach typisierte Sprache?
Da beim Deklarieren von Variablen keine Datentypdeklaration erforderlich ist, ist Bash eine schwach typisierte Sprache. Der Typ einer Variablen wird durch ihren aktuellen Wert bestimmt und in Bash als String behandelt.
Der Declaration-Befehl kann verwendet werden, um Bash-Variablen zu definieren.
Allerdings sind die Möglichkeiten zur Definition von Datentypen eingeschränkt und decken nicht alle Datenarten ab. Beispielsweise kann der Erklärbefehl nicht mit dem Float-Datentyp verwendet werden.
25. Wie lang hat eine Variable in einem Shell-Skript?
Eine Variable in einem Shell-Skript hat eine Lebensdauer von nur bis zum Abschluss der Ausführung.
26. Benennen Sie den Ersetzungsbefehl für echo.
Der tput-Befehl ist eine Alternative zu echo. Wir können diesen Befehl verwenden, um zu steuern, wie die Ausgabe angezeigt wird. Darüber hinaus können Shell-Skripte unabhängig von der Bildschirmgröße Dinge wie Unterstreichen und Zentrieren von Text ausführen.
27. IFS definieren
IFS steht für Internal Field Separator. Es ist eine Systemvariable mit dem Standardwert Leerzeichen, Tabulator, gefolgt von einer neuen Zeile. IFS gibt an, wo ein Feld oder Wort in einer Zeile endet und ein anderes beginnt.
28. Ist es möglich, mehrere Skripte in einer Shell auszuführen?
Ja, viele Skripte können in einer Shell ausgeführt werden. Sie können ein Skript von einem anderen aufrufen, indem Sie mehrere Skripts ausführen. Dazu müssen Sie den Namen des Skripts angeben, das Sie aufrufen möchten.
29. Was sind die vielen Modi von vi-Editoren?
- Befehlsmodus: Dies ist der Modus, in dem Sie beginnen.
- Bearbeitungsmodus: Mit dieser Option können Sie nachträgliche Bearbeitungen vornehmen.
- In diesem Modus interagieren Sie mit vi und geben ihm Anweisungen zur Verarbeitung.
30. Was ist der Unterschied zwischen $! und $$?
$! Zeigt die Prozess-ID des Prozesses an, der kürzlich in den Hintergrund gegangen ist.
$$ gibt die Prozess-ID des aktuell ausgeführten Prozesses zurück.
31. Was bedeutet $#?
$# enthält normalerweise die Anzahl der Argumente, obwohl dies für Funktionen unterschiedlich sein kann. Einfach gesagt wurde es verwendet, um die Anzahl der Befehlszeilenparameter aufzuzeichnen, die an ein Shell-Skript übergeben wurden.
32. Benennen Sie den Befehl, der zum Erstellen der Sicherung verwendet wurde.
Der tar-Befehl wird verwendet, um ein Backup zu erstellen. Tar ist eine Abkürzung für Bandarchiv und wird verwendet, um Sicherungen zu erstellen, die tar, gzip und bzip verwenden. Dieser Befehl kann Dateien von und auf einem Band speichern und wiederherstellen.
Im Allgemeinen werden Dateien und Verzeichnisse in Tarballs komprimiert, die Archivdateien sind. Aus diesem Grund ist es eine der am häufigsten verwendeten Anweisungen. Außerdem ist der Tarball einfach von einem Server auf einen anderen übertragbar.
33. Wann ist es unangemessen, Shell Scripting zu verwenden?
Wir sollten Shell Scripting nicht verwenden, wenn die Arbeit wirklich komplex ist, wie z. B. der Aufbau eines ganzen Gehaltsabrechnungssystems.
Wir sollten Shell Scripting nicht einsetzen, wenn die Arbeit ein hohes Maß an Produktivität erfordert.
Wir sollten Shell Scripting nicht verwenden, wenn das Projekt mehrere Softwarelösungen erfordert.
34. Wie werden Sie von Linux aus eine Verbindung zu einem Datenbankserver herstellen?
Wir können das im Open-Client-Treiber enthaltene isql-Dienstprogramm wie folgt verwenden:
35. Was sind die beiden crontab-Befehlsdateien?
cron.allow legt fest, welche Benutzer berechtigt sein müssen, den crontab-Befehl zu verwenden.
cron.deny, die festlegt, ob Benutzern die Verwendung des crontab-Befehls untersagt werden soll.
36. Was sind die drei unterschiedlichen UNIX-Sicherheitsmechanismen für eine Datei oder Daten?
- Es bietet Sicherheit auf Dateiebene, indem es Lese-, Schreib- und Ausführungsrechte für Dateien gewährt.
- Es bietet Benutzern eine eindeutige Benutzer-ID und ein Kennwort zur Authentifizierung, sodass unbekannte oder nicht autorisierte Personen keinen Zugriff darauf haben.
- Es bietet Sicherheit durch Dateien verschlüsseln. Mit diesem Ansatz können Sie eine Datei in einem nicht lesbaren Format codieren. Selbst wenn eine Datei geöffnet wird, kann ihr Inhalt nicht gelesen werden, bis sie entschlüsselt ist.
37. Erklären Sie den sed-Befehl kurz anhand eines Beispiels.
sed ist eine Abkürzung für Stream-Editor. Es wird verwendet, um eine Datei ohne die Verwendung eines Editors zu bearbeiten. Es wird verwendet, um einen bestimmten Stream zu ändern, z. B. eine Datei oder eine Pipelineeingabe.
38. Was ist beim Shell-Scripting der Zweck der Tools, die mit dem Open-Client-Treiber geliefert werden?
Das System ist lediglich über die Tools mit einem Datenbankserver verbunden. Benutzer müssen eine Reihe wichtiger und notwendiger Aktivitäten für die Programmierung durchführen.
Für die Skripterstellung werden mehr Daten und Informationen benötigt, und es ist nicht immer praktisch, sie an einem Ort zu speichern. Anwender, die diesen Ansatz verwenden, müssen eine fehlerfreie Ausgabe garantieren.
49. Nennen Sie den Befehl, der verwendet werden soll, um die Dauer des Systems zu bestimmen.
Mit dem Uptime-Befehl können Sie feststellen, wie lange Ihr System betriebsbereit ist. Die Anzahl der Benutzer mit aktiven Sitzungen und die typische Systemlast über 1, 5 und 15 Minuten sind ebenfalls verfügbar.
Sie können die angezeigten Informationen auch entsprechend Ihrer Auswahl filtern.
40. Erstellen Sie ein Skript, um zahlreiche Werte hinzuzufügen.
41. Erstellen Sie ein Funktionsbeispiel.
Zusammenfassung
Sie können verstehen, dass die Shell in erster Linie eine Schnittstelle zwischen dem Betriebssystem und dem Benutzer ist, die mit Hilfe dieser Shell-Scripting-Interviewfragen die vom Benutzer eingegebenen Anweisungen an das Betriebssystem oder den Kernel übersetzt.
Dieses Konzept ist häufig entscheidend für die Vorbereitung auf das Vorstellungsgespräch DevOps-Ingenieure und Automatisierungstester. Shell-Scripting ermöglicht die Erstellung von Skripten unterschiedlicher Komplexitätsstufen. Shell-Scripting kann auch verwendet werden, um eine Vielzahl wiederkehrender Prozesse zu automatisieren.
See Hashdorks Interview-Reihe um Hilfe bei der Vorbereitung auf das Vorstellungsgespräch.
Hinterlassen Sie uns einen Kommentar