Über 30 häufig gestellte Fragen und Antworten zu Linux-Interviews [2023]

Die Entwicklung von Linux und seine Bedeutung

Obwohl das Linux-Betriebssystem seinen Ursprung im Jahr 1991 als persönliches Projekt von Linus Torvalds hat, hat es sich zu einem zentralen Element in der heutigen Technologie entwickelt. Es treibt Supercomputer, Webserver, Smartphones und viele weitere Bereiche an.

Linux wird wegen seiner Stabilität, hohen Sicherheit und effizienten Nutzung von Systemressourcen geschätzt. Die Akzeptanz und Nachfrage nach Linux sind stetig gestiegen und dieser Trend setzt sich fort.

Eine Studie von Statista aus dem Jahr 2021 ergab, dass 47 % der professionellen Softwareentwickler Linux einsetzen. Im gleichen Zeitraum zeigte der „9th Annual Open Source Jobs Report“, dass Kenntnisse in der Linux-Entwicklung und -Administration die zweithäufigst geforderten Fähigkeiten bei Einstellungsmanagern und Entwicklern waren.

Linux-Kenntnisse sind in Feldern wie Softwareentwicklung, Systemadministration, DevOps, Netzwerkadministration, Sicherheitstechnik und Datenwissenschaft von hoher Relevanz. Wenn Sie sich für eine dieser Richtungen interessieren, werden Ihnen Fragen zu Ihrem Linux-Know-how wahrscheinlich nicht erspart bleiben.

Um Sie bestmöglich auf solche Situationen vorzubereiten, stellen wir Ihnen einige der typischen Fragen aus Linux-Vorstellungsgesprächen und die passenden Antworten vor.

Was ist Linux?

Antwort: Linux ist ein Open-Source-Betriebssystem, das 1991 von Linus Torvalds geschaffen und unter der GNU General Public License (GPL) veröffentlicht wurde. Es ist somit für jeden frei nutzbar und anpassbar.

Warum sollte man Linux verwenden?

Antwort: Die Nutzung von Linux bietet zahlreiche Vorteile. Zum einen ist Linux extrem sicher und nahezu immun gegen Schadsoftware.

Darüber hinaus ist Linux sehr stabil und zuverlässig und stürzt selten ab, was es zur idealen Wahl für viele Server macht. Linux ist außerdem ressourcenschonend und benötigt wenig RAM und Speicherplatz, sodass es auch auf älteren Computern eingesetzt werden kann.

Zusätzlich ist Linux kostenlos, Open Source, wird laufend aktualisiert und lässt sich stark anpassen. Benutzer können das Betriebssystem an ihre individuellen Anforderungen anpassen. Es gibt auch spezialisierte Distributionen, optimiert für Hacker, Programmierer oder den alltäglichen Gebrauch.

Welche grundlegenden Komponenten hat das Linux-Betriebssystem?

Antwort: Das Linux-Betriebssystem besteht im Wesentlichen aus drei Teilen.

  • Kernel: Der Kernel ist das Herzstück von Linux. Er bildet die unterste Ebene des Betriebssystems und interagiert direkt mit der Hardware des Computers. Der Kernel verwaltet Hardware-Ressourcen wie CPU, RAM und Speicherplatz und stellt Dienste für andere Teile des Systems bereit.
  • Shell: Die Shell ist eine Befehlszeilen-Schnittstelle, die es Benutzern ermöglicht, mit dem System zu interagieren und Programme auszuführen. Sie fungiert als Vermittler zwischen Benutzer und Kernel, indem sie Befehle interpretiert und ausführt.
  • Anwendungen: Hierbei handelt es sich um Programme, die auf dem Betriebssystem laufen und spezifische Funktionen erfüllen, beispielsweise Webbrowser, Textverarbeitung oder Musikwiedergabe.

Zusammen bilden Kernel, Shell und Anwendungen das komplette Linux-Betriebssystem.

Warum wird Linux als sicherer angesehen?

Antwort: Die Open-Source-Natur von Linux ist ein Hauptgrund für seine Sicherheit. Der Code wird von vielen Entwicklern regelmäßig überprüft, und gefundene Fehler oder Schwachstellen werden schnell behoben.

Ein weiterer Faktor ist die Art und Weise, wie Linux Berechtigungen verwaltet. Der Root-Zugriff ist standardmäßig nicht für normale Benutzer verfügbar, was das Risiko durch Malware einschränkt. Die geringere Verbreitung im alltäglichen Gebrauch trägt ebenfalls zur Sicherheit bei, da Hacker eher Systeme mit einer großen Nutzerbasis angreifen.

Was ist der Linux-Kernel?

Antwort: Der Kernel ist die unterste und zentrale Schicht des Linux-Betriebssystems. Er vermittelt zwischen Hardware und anderen Teilen des Systems. Der Kernel ist für die Interaktion mit der Hardware verantwortlich und verwaltet Ressourcen wie Arbeitsspeicher, CPU und Speicherplatz.

Außerdem sorgt er dafür, dass Aufgaben und Prozesse die nötigen Ressourcen erhalten, um reibungslos und effizient zu funktionieren.

Was ist der Unterschied zwischen Linux und Unix?

Antwort: Linux ist ein freies und Open-Source-Betriebssystem, das von Linus Torvalds entwickelt wurde, während Unix ein proprietäres Multitasking- und Mehrbenutzer-Betriebssystem ist, das von AT&T entwickelt wurde. Im Gegensatz zu Linux ist Unix nicht Open Source.

Was ist eine GUI?

Antwort: Eine grafische Benutzeroberfläche (GUI) ermöglicht es Benutzern, über grafische Elemente wie Fenster, Symbole, Menüs und Mauszeiger mit dem Betriebssystem zu interagieren.

Die grafischen Elemente werden mithilfe von Zeigegeräten wie Maus, Stift oder Finger auf Touchscreens bedient.

Was ist CLI?

Antwort: Eine Befehlszeilenschnittstelle (CLI) ist eine textbasierte Benutzerschnittstelle, bei der Benutzer Befehle als Text in das Terminal eingeben, um mit dem Computersystem zu interagieren.

Das System antwortet, indem es die Befehle ausführt oder die angeforderten Informationen anzeigt.

Erläutern Sie die Linux-Shell.

Antwort: Die Linux-Shell ist ein Programm, das Befehle interpretiert und ausführt, die über die Befehlszeile eingegeben werden. Dadurch können Benutzer mit dem Betriebssystem interagieren und ihren Computer steuern.

Die Shell nimmt Befehle in einem für Menschen lesbaren Format entgegen, übersetzt sie in eine für den Kernel verständliche Form und gibt sie dann zur Ausführung an den Kernel weiter.

Welche Arten von Shells gibt es in Linux?

Antwort: Es gibt verschiedene Arten von Shells in Linux, die jeweils für spezifische Zwecke optimiert sind. Hier einige gängige Shells:

  • Die Bourne-Shell (sh)
  • Die Bourne Again Shell (bash)
  • Die C-Shell (csh)
  • Die KornShell (ksh)
  • Die Z-Shell (zsh)
  • Die Friendly Interactive Shell (fish)
  • Die Debian Almquist Shell (dash)
  • Die TENEX C Shell (tcsh)

Dies sind einige der am weitesten verbreiteten Linux-Shells.

Was ist ein Shell-Skript?

Antwort: Ein Shell-Skript ist eine Textdatei, die eine Abfolge von Befehlen enthält. Diese Befehle werden von der Linux-Shell in der Reihenfolge ausgeführt, in der sie im Skript stehen.

Shell-Skripte sind nützlich, um wiederkehrende Aufgaben zu automatisieren oder Batch-Jobs durchzuführen.

Erläutern Sie die Dateiberechtigungen in Linux.

Antwort: In Linux gibt es drei Arten von Dateiberechtigungen:

  • Lesen (r): Diese Berechtigung ermöglicht es einem Benutzer, den Inhalt einer Datei zu öffnen und zu lesen oder den Inhalt eines Verzeichnisses anzuzeigen. Der Benutzer kann die Datei oder den Verzeichnisinhalt jedoch nicht verändern.
  • Schreiben (w): Eine Schreibberechtigung für eine Datei ermöglicht es einem Benutzer, den Inhalt der Datei zu ändern. Eine Schreibberechtigung für ein Verzeichnis ermöglicht es, Dateien hinzuzufügen, zu entfernen oder umzubenennen.
  • Ausführen (x): Ermöglicht es einem Benutzer, eine Datei als Programm auszuführen. In Linux kann ein Benutzer ein Programm nur dann ausführen, wenn er die Ausführungsberechtigung hat.

Diese Berechtigungen definieren den Zugriff auf Dateien im Linux-Betriebssystem.

Wie erteilt man Berechtigungen in Linux?

Antwort: Zum Ändern von Berechtigungen unter Linux verwendet man den Befehl chmod, der für „change mode“ steht. Der Befehl ermöglicht es, die Berechtigungen von Dateien und Verzeichnissen zu modifizieren.

Berechtigungen können für verschiedene Benutzergruppen erteilt werden, darunter: Gruppe (g), Benutzer (u), andere (o) und alle Benutzer (a). Die Berechtigungen werden durch Addition (+) oder Subtraktion (-) der Lese- (r), Schreib- (w) und Ausführungsberechtigungen (x) vergeben.

Die Syntax für die Änderung der Berechtigungen lautet wie folgt:

chmod permissions datei/verzeichnis-name

Wie findet man heraus, wo eine Datei in Linux gespeichert ist?

Antwort: Um herauszufinden, wo eine Datei in Linux abgelegt ist, verwenden Sie zuerst den Befehl:

find <dateiname>

um die Datei in den verfügbaren Verzeichnissen zu suchen. Wenn eine Datei mit dem angegebenen Namen gefunden wird, können Sie anschließend:

realpath <dateiname>

ausführen, um den absoluten Pfad zum Speicherort der Datei zu erhalten.

Wie löscht man ein Verzeichnis in Linux?

Antwort: Um ein Verzeichnis in Linux zu löschen, können Sie den Befehl rmdir verwenden. Dieser Befehl steht für „remove directory“ und wird zum Löschen leerer Verzeichnisse genutzt.

Um beispielsweise ein leeres Verzeichnis namens „test“ zu löschen, führen Sie aus:

rmdir test

Um ein nicht leeres Verzeichnis zu löschen, verwenden Sie den Befehl rm zusammen mit der Option -r:

rm -r beispiel

Was ist Swap Space?

Antwort: Swap Space ist ein reservierter Bereich auf einer Festplatte, üblicherweise eine Partition, die vom Linux-Betriebssystem verwendet wird, wenn der Arbeitsspeicher voll ist.

Wenn mehr Speicher benötigt wird und der RAM ausgelastet ist oder selten genutzte Daten enthält, werden Seiten aus dem RAM in den Swap Space verschoben, um Platz für andere Prozesse im RAM zu schaffen.

Was ist LILO?

Antwort: Der Linux Loader (LILO) ist ein Bootloader für das Linux-Betriebssystem. Ein Bootloader ist ein Programm, das beim Starten eines Computers das Betriebssystem in den Arbeitsspeicher lädt und startet.

Beim Einschalten eines Computers findet LILO den Linux-Kernel und weitere erforderliche Programme und lädt diese in den Arbeitsspeicher. Anschließend startet er den Linux-Kernel.

Was ist Umleitung?

Antwort: Umleitung verändert die Quelle der Standardeingabe, die normalerweise die Tastatur ist, und die Ziele für die Standardausgabe und Standardfehlerausgabe, welche normalerweise der Bildschirm sind.

Durch Umleitung kann die Eingabe aus einer Datei gelesen und die Ausgabe und Fehlerinformationen in einer Datei gespeichert werden.

Was ist Befehlsgruppierung?

Antwort: Die Befehlsgruppierung ist eine Methode, um mehrere Befehle gemeinsam als eine Einheit auszuführen. Durch Gruppieren können mehrere Befehle wie ein einzelner Block behandelt werden.

Gruppierungen werden oft zusammen mit Funktionen wie Umleitung und Pipes genutzt, um komplexere Skripte zu erstellen und Aufgaben zu automatisieren.

Was ist ein zustandsloser Linux-Server?

Antwort: Ein zustandsloser Server speichert keine Statusinformationen oder Daten lokal. Die gesamte Datenspeicherung erfolgt auf der Client-Seite und der Server hat keine Aufzeichnung über die Daten, die er verarbeitet.

Was ist Network Bonding?

Antwort: Network Bonding ist eine Methode, um mehrere Netzwerkschnittstellen zu einer einzigen Schnittstelle zusammenzufassen. Dadurch werden die Netzwerkbandbreite, der Durchsatz und die Backup-Verbindungen erhöht und die Gesamtleistung des Netzwerks gesteigert.

Was ist der Befehl grep?

Antwort: Der Befehl „Global regular expression print“ (grep) ist ein Befehlszeilenwerkzeug zum Suchen von Mustern in einer Datei. Er gibt alle Zeilen aus, die die Suchmuster enthalten. Das Suchmuster ist in der Regel ein regulärer Ausdruck oder eine Zeichenkette.

Was sind Daemons?

Antwort: Daemons sind Dienstprogramme, die im Hintergrund ohne Benutzereingriff laufen. Sie führen Aufgaben wie die Überwachung von Peripheriegeräten und die Systemwartung durch. Sie sind essenziell, um einen reibungslosen Betrieb des Systems zu gewährleisten.

Was sind symbolische Links?

Antwort: Ein symbolischer Link, auch Symlink oder Softlink genannt, ist ein Dateityp im Linux-Betriebssystem, der auf eine andere Datei oder ein anderes Verzeichnis verweist. Er entspricht einer Verknüpfung im Windows-Betriebssystem.

Symbolische Links erleichtern den Zugriff auf Dateien, die ansonsten schwer oder umständlich zu erreichen wären.

Was sind Umgebungsvariablen?

Antwort: Umgebungsvariablen sind dynamische Variablen, die in der Shell gesetzt werden und Informationen speichern, die Programme benötigen, oder um ihr Verhalten an die Bedürfnisse der Benutzer anzupassen.

Beispiele für Umgebungsvariablen sind LANG, das die Standardsprache des Systems speichert; TEMP, das das Verzeichnis für temporäre Dateien angibt; und HOME, das das Home-Verzeichnis des aktuellen Benutzers zeigt.

Unterscheiden Sie zwischen Bash- und DOS-Befehlen zum Anzeigen von Dateiinhalten.

Antwort: In der Bash-Shell können Sie folgende Befehle zum Anzeigen von Dateiinhalten verwenden:

  • cat – gibt den gesamten Inhalt der Datei auf dem Bildschirm aus
  • nl – ähnlich wie cat, aber mit Zeilennummern
  • less – liest den Inhalt einer Datei seitenweise
  • head – gibt die ersten 10 Zeilen einer Datei aus
  • tail – gibt die letzten 10 Zeilen einer Datei aus

In der DOS-Shell können folgende Befehle genutzt werden, um den Dateiinhalt anzuzeigen:

  • type – zeigt den Inhalt einer Datei an, ohne ihn zu verändern
  • more – zeigt den Inhalt einer Datei bildschirmweise an

Die Bash- und DOS-Shells verwenden unterschiedliche Befehle zur Anzeige von Dateiinhalten.

Nennen Sie einige Linux-Distributionen.

Antwort: Linux-Distributionen sind Linux-Versionen, die auf dem Linux-Kernel basieren und für die Benutzer in einem Paket bereitgestellt werden.

Einige populäre Linux-Distributionen sind Ubuntu, Fedora, Debian, CentOS, Arch Linux, Red Hat Enterprise Linux und Mint Linux.

Was sind die verschiedenen Prozesszustände in Linux?

Antwort: Die Hauptprozesszustände in Linux sind:

  • Running – Ein Prozess wird gerade von der CPU ausgeführt.
  • Sleeping – Ein Prozess wartet auf nicht verfügbare Ressourcen.
  • Stopped – Ein Prozess wurde durch den Prozessor oder ein Signal angehalten.
  • Zombie – Ein Prozess ist beendet, aber die Ressourcen wurden noch nicht vom übergeordneten Prozess freigegeben.

Dies sind die wichtigsten Prozesszustände in Linux.

Was sind die verschiedenen Prozessverwaltungs-Systemaufrufe in Linux?

Antwort: Einige wichtige Aufrufe des Prozessmanagementsystems umfassen:

  • fork() – Erzeugt einen neuen Prozess.
  • kill() – Sendet ein Signal zur Beendigung eines laufenden Prozesses.
  • wait() – Pausiert die Ausführung des aufrufenden Prozesses, bis ein untergeordneter Prozess beendet ist.
  • exec() – Lädt ein Programm in den aktuellen Prozess und führt es aus.
  • exit() – Beendet die Ausführung eines Programms.

Dies sind die Hauptaufrufe des Prozessmanagementsystems in Linux.

Wie findet man den Status eines Prozesses?

Antwort: Sie können den Status eines Prozesses mit dem Befehl ps ermitteln, der den aktuellen Status aller aktiven Prozesse in einem Linux-System anzeigt.

Um detaillierte Informationen zu einem bestimmten Prozess anzuzeigen, nutzen Sie:

ps -p <prozessID>

Wie stoppt man einen laufenden Prozess in Linux?

Antwort: Um einen laufenden Prozess in Linux zu stoppen, können Sie folgenden Befehl verwenden:

kill <prozessID>

um einen laufenden Prozess anhand seiner ID zu beenden. Sie können einen laufenden Prozess auch nach seinem Namen beenden:

killall <prozessname>

Wie wirkt sich die Groß-/Kleinschreibung auf Befehle aus?

Antwort: Im Linux-Betriebssystem wird bei Befehlen zwischen Groß- und Kleinschreibung unterschieden. Das heißt, die Shell behandelt Befehle, die in unterschiedlicher Groß- und Kleinschreibung geschrieben wurden, als unterschiedlich.

Beispielsweise ist der Befehl rmdir nicht dasselbe wie RMDIR. Befehle in der Linux-Befehlszeile werden normalerweise in Kleinbuchstaben geschrieben.

Welcher Befehl zeigt die Speichernutzung unter Linux an?

Antwort: Der Befehl free zeigt den belegten und freien Speicherplatz im System an. Es können verschiedene Optionen verwendet werden, um unterschiedliche Informationen anzuzeigen.

Was ist der Befehl ls?

Antwort: Dies ist ein Befehl, um den Inhalt eines Verzeichnisses anzuzeigen.

Was ist der Befehl ps?

Antwort: Der Befehl ps zeigt Informationen über aktuell aktive Prozesse an.

Was ist der Befehl netstat?

Antwort: netstat ist ein Befehl, der Informationen über Netzwerkverbindungen auf dem System anzeigt. Er zeigt Daten zu aktuell aktiven Netzwerkverbindungen.

Was ist der Befehl cp?

Antwort: cp ist ein Befehl zum Kopieren von Dateien und Verzeichnissen.

Was ist mkdir?

Antwort: mkdir ist ein Befehl zum Erstellen von Verzeichnissen in Linux.

Was ist der Befehl cat?

Antwort: cat ist ein Befehl, der zum Anzeigen des Inhalts einer Datei, zum Erstellen einer neuen Datei, zum Umleiten der Ausgabe anderer Befehle, zum Verketten mehrerer Dateien und zur Anzeige der Ausgabe auf dem Bildschirm verwendet wird.

Abschließende Bemerkungen

Dieser Artikel mit Fragen und Antworten zu Linux-Vorstellungsgesprächen soll Ihnen helfen, Ihre kommenden Bewerbungsgespräche erfolgreich zu meistern.

Viel Erfolg! 👍