50 Fragen und Antworten zum Shell Scripting-Interview (2024)

Hier finden Sie Fragen und Antworten zu Shell Scripting-Interviews für neue und erfahrene Kandidaten, die ihren Traumjob bekommen möchten.

 

Fragen und Antworten zum Linux Shell Scripting-Interview

1) Was ist eine Muschel?

Shell ist eine Schnittstelle zwischen dem Benutzer und dem Kernel. Auch wenn es nur einen Kernel geben kann; Auf einem System können mehrere Shells gleichzeitig ausgeführt werdenneonormalerweise. Wenn also ein Benutzer einen Befehl über die Tastatur eingibt, kommuniziert die Shell mit dem Kernel, um ihn auszuführen und dem Benutzer dann die Ausgabe anzuzeigen.

👉Kostenloser PDF-Download: Fragen und Antworten zum Shell Scripting-Interview


2) Was ist ein Shell-Scripting?

Shell Scripting ist ein Open-Source-Computerprogramm, das für die Ausführung durch die Unix/Linux-Shell entwickelt wurde. Shell Scripting ist ein Programm zum Schreiben einer Reihe von Befehlen, die von der Shell ausgeführt werden sollen. Es kann lange und sich wiederholende Befehlssequenzen in einem einzigen und einfachen Skript kombinieren, das gespeichert und jederzeit ausgeführt werden kann, was den Programmieraufwand reduziert.

Fragen zum Shell Scripting-Interview


3) Welche verschiedenen Arten häufig verwendeter Shells gibt es auf einem typischen Linux-System?

csh,ksh,bash,Bourne . Die heute am häufigsten verwendete und fortschrittlichste Shell ist „Bash“.


4) Was entspricht einer Dateiverknüpfung, die wir in einem Fenster auf einem Linux-System haben?

Verknüpfungen werden unter Linux mithilfe von „Links“ erstellt. Es gibt zwei Arten von Links, die verwendet werden können, nämlich „Softlink“ und „Hardlink“.


5) Was ist der Unterschied zwischen Soft- und Hardlinks?

Softlinks sind Links zum Dateinamen und können sich auch auf einem anderen Dateisystem befinden; Hardlinks sind jedoch mit dem Inode der Datei verknüpft und müssen sich auf demselben Dateisystem wie das der Datei befinden. Das Löschen der Originaldatei macht den Softlink inaktiv (defekter Link), hat jedoch keine Auswirkungen auf den Hardlink (der Hardlink greift weiterhin auf eine Kopie der Datei zu).


6) Wie können Sie unter Linux Argumente an ein Skript übergeben und darauf zugreifen?

Argumente können wie folgt übergeben werden:

scriptName „Arg1“ „Arg2″….“Argn“ und kann innerhalb des Skripts als $1 , $2 .. $n aufgerufen werden


7) Was ist der Unterschied zwischen $* und $@?

$@ behandelt jedes in Anführungszeichen gesetzte Argument als separates Argument, $* betrachtet jedoch den gesamten Satz von Positionsparametern als eine einzige Zeichenfolge.


8) Verwenden Sie den Befehl sed, um den Inhalt der Datei zu ersetzen (Befehl tac emulieren).

Z.B:

if cat fille
ABCD
EFGH

Dann sollte O/p sein

E F G H
ABCD

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

Hier wird der G-Befehl an den Musterraum angehängt,

Der Befehl h kopiert das Muster buffer zu halten buffer

und der Befehl d löscht den aktuellen Musterbereich.


9) Ersetzen Sie in einer gegebenen Datei alle Vorkommen des Wortes „ABC“ durch „DEF“ aus 5th Zeile bis Ende nur in den Zeilen, die das Wort „MNO“ enthalten

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

10) Schreiben Sie bei einer gegebenen Datei eine Befehlssequenz, um die Anzahl jedes Wortes zu ermitteln.

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“ ist ein oktales Äquivalent von „Tabulatorzeichen“ und

„(backslash)012“ ist ein oktales Äquivalent des Newline-Zeichens.


11) Wie finden Sie die 99?th Zeile einer Datei, die nur den Befehl tail und head verwendet?

tail +99 file1|head -1


12) Drucken Sie die 10 austh Linie ohne Verwendung von Tail- und Head-Befehlen.

sed –n '10p' file1

13) In meiner Bash-Shell möchte ich, dass meine Eingabeaufforderung das Format „$“Aktuelles Arbeitsverzeichnis“:“Hostname“> hat und eine Datei mit einer Liste benutzerdefinierter Funktionen lädt, sobald ich mich anmelde. Wie können Sie dies automatisieren? ?

In der Bash-Shell können wir eine „.profile“-Datei erstellen, die automatisch aufgerufen wird, sobald ich mich anmelde und Folgendes schreibewing Syntax hinein.

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

Hier ist Datei1 die Datei, die die benutzerdefinierten Funktionen und „.“ enthält. ruft diese Datei in der aktuellen Shell auf.


14) Erklären Sie das Berechtigungsbit „s“ in einer Datei.

Das „s“-Bit wird als „Set User ID“-Bit (SUID) bezeichnet.

Das „s“-Bit einer Datei bewirkt, dass der Prozess während der Instanz des Programms über die Berechtigungen des Eigentümers der Datei verfügt.

Wenn Sie beispielsweise den Befehl „passwd“ ausführen, um das aktuelle Kennwort zu ändern, schreibt der Benutzer sein neues Kennwort in die Schattendatei, obwohl „root“ der Eigentümer ist.


15) Ich möchte ein Verzeichnis erstellen, in dem jeder in der Gruppe eine Datei erstellen und auf die Dateien einer beliebigen Person darin zugreifen kann, aber niemand sollte in der Lage sein, eine andere Datei als die von ihm selbst erstellte Datei zu löschen.

Wir können das Verzeichnis erstellen, das jedem in der Gruppe Lese- und Ausführungszugriff gewährt, und sein Sticky-Bit „t“ wie folgt setzen:

mkdir direc1
 
chmod g+wx direc1
 
chmod +t direc1

16) Wie kann man herausfinden, wie lange das System schon läuft?

Wir können dies herausfinden, indem wir den Befehl „uptime“ verwenden.


17) Wie kann ein Benutzer alle Informationen über einen bestimmten Benutzer herausfinden, z. B. seine Standard-Shell, seinen echten Namen, sein Standardverzeichnis und wann und wie lange er das System verwendet?

finger „loginName“ …wobei loginName der Anmeldename des ist

Benutzer, dessen Informationen erwartet werden.


18) Was ist der Unterschied zwischen $$ und $!?

$$ gibt die Prozess-ID des aktuell ausgeführten Prozesses an, während $! Zeigt die Prozess-ID des Prozesses an, der kürzlich in den Hintergrund gelaufen ist.


19) Was sind Zombie-Prozesse?

Dies sind die Prozesse, die abgestorben sind, deren Exit-Status jedoch immer noch nicht vom übergeordneten Prozess ausgewählt wird. Auch wenn diese Prozesse nicht funktionsfähig sind, haben sie dennoch einen Prozess-ID-Eintrag in der Prozesstabelle.


20) Wie kopiert man eine Datei von einem Computer auf einen anderen?

Wir können Dienstprogramme wie „ftp“, „scp“ oder „r“ verwendensync”, um eine Datei von einem Computer auf einen anderen zu kopieren.

Beispiel: Verwendung von FTP:

FTP-Hostname

>Datei1 ablegen

>Tschüs

Oben kopiert die Datei file1 vom lokalen System auf das Zielsystem, dessen Hostname angegeben ist.


Fragen und Antworten zum Shell Scripting-Interview für Erfahrene

21) Ich möchte eine sich ständig aktualisierende Protokolldatei überwachen. Welcher Befehl kann verwendet werden, um dies am effizientesten zu erreichen?

Wir können tail –f Dateiname verwenden. Dadurch werden nur die standardmäßigen letzten 10 Zeilen auf std o/p angezeigt, wodurch der aktualisierte Teil der Datei kontinuierlich angezeigt wird.


22) Ich möchte eine Verbindung zu einem Remote-Server herstellen und einige Befehle ausführen. Wie kann ich das erreichen?

Dazu können wir ssh verwenden:

ssh benutzername@serverIP -p sshport

Beispiel

ssh root@122.52.251.171 -p 22

Sobald der obige Befehl ausgeführt wird, werden Sie aufgefordert, das Passwort einzugeben


23) Ich habe zwei Dateien und möchte die Datensätze ausdrucken, die beiden gemeinsam sind.

Wir können den Befehl „comm“ wie folgt verwenden:

comm -12 file1 file2 … 12 unterdrückt den Inhalt, der vorhanden ist

einzigartig für 1st und 2nd Datei bzw.


24) Schreiben Sie ein Skript zum Drucken der ersten 10 Elemente der Fibonacci-Reihe.

  
#!/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) Wie stellen Sie unter Linux eine Verbindung zu einem Datenbankserver her?

Wir können das isql-Dienstprogramm, das mit dem Open-Client-Treiber geliefert wird, wie folgt verwenden:

isql –S Servername –U Benutzername –P Passwort


26) Was sind die 3 Standard-Streams unter Linux?

0 – Standardeingabe1 – Standardausgabe2 – Standardfehler


27) Ich möchte alle Eingaben für den Befehl von Datei1 lesen, alle Ausgaben an Datei2 und alle Fehler an Datei 3 weiterleiten. Wie kann ich das erreichen?

Befehl Datei1 1>Datei2


28) Was passiert mit meinem aktuellen Prozess, wenn ich einen Befehl mit exec ausführe?

„exec“ überlagert den neu geforkten Prozess mit dem aktuellen Prozess; Wenn ich also den Befehl mit exec ausführe, wird der Befehl auf der aktuellen Shell ausgeführt, ohne dass neue Prozesse erstellt werden.

ZB Ausführen "exec ls" An der Eingabeaufforderung wird ls ausgeführt und sobald ls beendet wird, wird der Prozess beendet


29) Wie emulieren Sie wc –l mit awk?

awk 'END {print NR} fileName'


30) Ermitteln Sie anhand einer Datei die Anzahl der Zeilen, die das Wort „ABC“ enthalten.

grep –c „ABC“ Datei1


31) Was ist der Unterschied zwischen grep und egrep?

egrep ist ein erweitertes grep, das zusätzliche grep-Funktionen wie „+“ (1 oder mehr Vorkommen eines vorherigen Zeichens), „?“ (0 oder 1 Vorkommen eines vorherigen Zeichens) und „|“ unterstützt. (alternative Übereinstimmung)


32) Wie richtet man ein Array unter Linux ein?

Syntax in ksh:

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

33) Notieren Sie die Syntax der „for“-Schleife

Syntax:

for  iterator in (elements)
do
execute commands
done

34) Wie finden Sie den gesamten von einem bestimmten Benutzer genutzten Speicherplatz?

du -s /home/user1 ….wobei user1 der Benutzer ist, für den der gesamte Speicherplatz ermittelt werden muss.


35) Schreiben Sie die Syntax für „if“-Bedingungen in Linux?

Syntax

If  condition is successful
then
execute commands
else
execute commands
fi

36) Welche Bedeutung hat $?

Der Befehl $? Gibt den Exit-Status des zuletzt ausgeführten Befehls an.


37) Wie löschen wir alle Leerzeilen in einer Datei?

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

wobei (Backslash)011 ein oktales Äquivalent von Leerzeichen und ist

(Backslash)040 ist ein oktales Äquivalent des Tabulators


38) Wie füge ich alle 100 eine Zeile „ABCDEF“ ein?th Zeile einer Datei?

sed '100i\ABCDEF' Datei1


39) Schreiben Sie eine Befehlssequenz, um alle Dateien zu finden, die in weniger als 2 Tagen geändert wurden, und drucken Sie die Datensatzanzahl jeder Datei aus.

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


40) Wie kann ich die Standard-RWX-Berechtigung für alle Benutzer für jede Datei festlegen, die in der aktuellen Shell erstellt wird?

Wir können benutzen:

umask 777

Dadurch wird die Standard-RWX-Berechtigung für jede Datei festgelegt, die für jeden Benutzer erstellt wird.


41) Wie können wir den Prozessnamen anhand seiner Prozess-ID ermitteln?

Wir verwenden "ps –p ProcessId"


42) Was sind die vier grundlegenden Komponenten jedes Dateisystems unter Linux?

Bootblock, Superblock, Inodeblock und Datablock sind grundlegende Komponenten jedes Dateisystems unter Linux.


43) Was ist ein Bootblock?

Dieser Block enthält ein kleines Programm namens „Master Boot Record“ (MBR), das den Kernel während des Systemstarts lädt.


44) Was ist ein Superblock?

Der Superblock enthält alle Informationen über das Dateisystem, wie z. B. die Größe des Dateisystems, die verwendete Blockgröße, die Anzahl der freien Datenblöcke und die Liste der freien Inodes und Datenblöcke.


45) Was ist ein Inode-Block?

Dieser Block enthält den Inode für jede Datei des Dateisystems sowie alle Dateiattribute außer ihrem Namen.


46) Wie kann ich eine senden? mail mit einer komprimierten Datei als Anhang?

zip-Datei1.zip-Datei1|mailx –s „Betreff“ Empfänger email id

Email Inhalt

EOF


47) Wie erstellen wir Befehlsaliase in einer Shell?

alias Aliasname=“Befehl, dessen Alias ​​erstellt werden soll“.


48) Was sind die Berechtigungsfelder „c“ und „b“ einer Datei?

„c“ und „b“ Berechtigungsfelder sind im Allgemeinen einer Gerätedatei zugeordnet. Es gibt an, ob es sich bei einer Datei um eine Sonderzeichendatei oder eine Block-Sonderdatei handelt.


49) Was nützt eine Shebang-Linie?

Die Shebang-Zeile oben in jedem Skript bestimmt den Speicherort der Engine, die zum Ausführen des Skripts verwendet werden soll.

Diese Interviewfragen helfen auch bei Ihrer mündlichen Prüfung