Website-Suche

10 nützliche „Interview-Fragen und Antworten“ zum Linux-Shell-Scripting


Begrüßung des tages. Die Weitläufigkeit von Linux macht es möglich, jedes Mal einen einzigartigen Beitrag zu verfassen. Wir, das „Tecmint-Team“, arbeiten daran, unseren Lesern einzigartige Inhalte bereitzustellen, die für sie aus beruflicher Sicht nützlich sind und die Wissensdatenbank erweitern. Hier ist ein Versuch und es liegt an unseren Lesern, zu beurteilen, inwieweit uns das gelingt.

Wir haben viele Tutorials zur Shell Scripting-Sprache und Interview-Fragen für Leser aller Art, hier sind die Links zu diesen Artikeln.

  1. Shell-Scripting-Reihe
  2. Interview-Frage- und Antwortreihe

Ergänzend zu den Shell-Scripting-Beiträgen hier werden wir in diesem Artikel Fragen im Zusammenhang mit Linux Shell aus der Sicht eines Interviews durchgehen.

1. Wie brechen Sie ein Shell-Skript ab, bevor es erfolgreich ausgeführt wird?

Erstellen Sie beispielsweise das folgende Shell-Skript als „anything.sh“.

#!/bin/bash
echo "Hello"
exit -1
echo "bye"

Speichern Sie die Datei und führen Sie sie aus.

sh anything.sh

Hello
exit.sh: 3: exit: Illegal number: -1

Aus dem obigen Skript geht klar hervor, dass die Ausführung lange vor dem Exit-Befehl -1 verlief.

2. Wie entferne ich die Header aus einer Datei mit einem Befehl unter Linux?

Hier ist es der genaue Befehl zum Entfernen von Headern aus einer Datei (oder der ersten Zeile einer Datei).

sed '1 d' file.txt

Das einzige Problem mit dem obigen Befehl besteht darin, dass er die Datei ohne die erste Zeile auf der Standardausgabe ausgibt. Um die Ausgabe in einer Datei zu speichern, müssen wir einen Umleitungsoperator verwenden, der die Ausgabe in eine Datei umleitet.

sed '1 d' file.txt > new_file.txt

Nun, der eingebaute Schalter „-i“ für den Befehl sed kann diesen Vorgang ohne einen Umleitungsoperator ausführen.

sed -i '1 d' file.txt
3. Wie prüft man die Länge einer Zeile aus einer Textdatei?

Ein 'sed –n 'n p' file.txt', wobei 'n' die Zeilennummer darstellt und 'p' die ausgibt Musterraum (zur Standardausgabe). Dieser Befehl wird normalerweise nur in Verbindung mit der Befehlszeilenoption -n verwendet. Wie erhält man also die Längenzählung? Offensichtlich! Wir müssen die Ausgabe mit dem Befehl „wc“ weiterleiten.

sed –n 'n p' file.txt | wc –c

Um die Länge der Zeile Nummer „5“ in der Textdatei „tecmint.txt“ zu erhalten, müssen wir Folgendes ausführen.

sed -n '5 p' tecmint.txt | wc -c
4. Ist es möglich, alle nicht druckbaren Zeichen einer Textdatei auf einem Linux-System anzuzeigen? Wie erreichen Sie das?

Wie zeige ich nicht druckbare Zeichen im „vi“-Editor an?

  1. Öffnen Sie den vi-Editor.
  2. Wechseln Sie in den Befehlsmodus des vi-Editors, indem Sie [esc] und anschließend „:“ drücken.
  3. Der letzte Schritt besteht darin, den Befehl „execute [set list]“ über die Befehlsschnittstelle des „vi“-Editors einzugeben.

Hinweis: Auf diese Weise können wir alle nicht druckbaren Zeichen aus einer Textdatei sehen, einschließlich Strg+M (^M<).

5. Sie sind Teamleiter einer Gruppe von Mitarbeitern, die für ein Unternehmen xyz arbeiten. Das Unternehmen bittet Sie, ein Verzeichnis „dir_xyz“ zu erstellen, sodass jedes Mitglied der Gruppe eine Datei erstellen oder auf eine Datei darunter zugreifen kann, aber niemand außer demjenigen, der sie erstellt hat, die Datei löschen kann. was werden Sie tun?
mkdir dir_xyz
chmod g+wx dir_xyz
chmod +t dir_xyz

Die erste Befehlszeile erstellt ein Verzeichnis (dir_xyz). Die zweite Befehlszeile oben erlaubt der Gruppe (g), die Berechtigung zum „Schreiben und „Ausführen“ zu haben, und die letzte Zeile oben Befehl – Das „+t“ am Ende der Berechtigungen wird als „Sticky Bit“ bezeichnet. Es ersetzt das „x“ und gibt an, dass Dateien in diesem Verzeichnis nur von ihren Besitzern, dem Besitzer des Verzeichnisses oder dem Root-Superuser gelöscht werden können.

6. Können Sie mir die verschiedenen Phasen eines Linux-Prozesses erklären, die er durchläuft?

Hier sind die 4 Phasen des Linux-Prozesses.

  1. Warten: Linux-Prozess wartet auf eine Ressource.
  2. Läuft: Ein Linux-Prozess wird gerade ausgeführt.
  3. Gestoppt: Ein Linux-Prozess wird nach erfolgreicher Ausführung oder nach Erhalt eines Kill-Signals gestoppt.
  4. Zombie: Ein Prozess wird als „Zombie“ bezeichnet, wenn er gestoppt wurde, aber immer noch in der Prozesstabelle aktiv ist.
7. Wozu dient der Befehl „cut“ unter Linux?

Extrahieren Sie beispielsweise die ersten 10 Spalten einer Textdatei „txt_tecmint“.

cut -c1-10 txt_tecmint

Zum Extrahieren der 2., 5. und 7. Spalte derselben Textdatei.

cut -d;-f2 -f5 -f7 txt_tecmint
8. Was ist der Unterschied zwischen den Befehlen „cmp“ und „diff“?

Der Befehl „diff“ meldet die Änderungen, die vorgenommen werden sollten, damit beide Dateien gleich aussehen. Der Befehl „cmp“ hingegen vergleicht die beiden Dateien Byte für Byte und meldet die erste Nichtübereinstimmung.

9. Ist es möglich, den Befehl „ls“ durch den Befehl „echo“ zu ersetzen?
10. Möglicherweise haben Sie schon von Inodes gehört. Können Sie Inode kurz beschreiben?

Das ist alles für den Moment. Im nächsten Artikel stellen wir Ihnen weitere interessante und sachkundige Interviewfragen vor. Bis dahin bleiben Sie auf dem Laufenden und verbunden mit linux-console.net. Vergessen Sie nicht, uns im Kommentarbereich unten Ihr wertvolles Feedback mitzuteilen.