CompTia Linux+ LX0-103 (Teil 3) GNU- und Unix-Befehle

Befehle im definierten Pfad und außerhalb des Pfades aufrufen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Lassen Sie sich von Tom Wechsler erklären, wie Sie Befehle im definierten Pfad und außerhalb des Pfades aufrufen.
06:30

Transkript

Nun ist es wichtig zu wissen, was passiert in der Bash, wenn wir einen Befehl ausführen? Ich verwende zum Beispiel den Befehl ls. Nun erhalte ich ein Listing, ein Auflisten des Inhalts, von meinem Home-Verzeichnis. Wie aber hat die Bash diese entsprechende Information ausgelesen? Dazu gibt es Umgebungsvariablen und im Spezifischen die Variable path. Schauen wir uns diese Variable etwas genauer an. Dazu verwende ich den Befehl environment. Ich leite das Resultat um und suche mit grep nach dem Wort path. Wir haben hier eine Variable path. In dieser Variable sind verschiedene Verzeichnisse zu Programmen oder Befehlen enthalten. Wenn ich also in der Bash einen Befehl starte, zum Beispiel wenn ich nun who einsetze, dann sucht die Bash in dieser Variable die entsprechende Information, um das Programm auch starten zu können. Schauen wir uns mit dem Befehl type an, wo who abgelegt ist. Wir sehen, who ist in /usr/bin abgelegt. Ist dieser Pfad auch tatsächlich in der Variable enthalten? Wir sehen hier, jawohl, das ist korrekt. Dieser Pfad ist hier integriert. Darum konnte ich who direkt ausführen. Sie sehen noch eine Bemerkung hier. who is hashed. Das bedeutet, dass dieser Befehl bereits einmal aufgerufen wurde Die Bash hat die notwendigen Informationen zu diesem Programm gespeichert. Darum wurde dieser Befehl direkt aus dem Speicher, aus dem Cache, gestartet. Das sieht ein wenig anders aus. Wenn ich zum Beispiel eingebe: type und ich verwende nun den Befehl touch. Sie sehen, touch ist unter /usr/bin enthalten. Und es ist nicht mit einem Hash versehen, das bedeutet, die Bash hat sich den Befehl noch nicht zwischengespeichert. Wenn ich nun diesen Befehl touch verwende und ich erstelle eine neue Datei, die heißt file1. Die Datei ist erstellt. Ich verwende wiederum type, und dann nochmals touch und nun sehen wir auch, dass dieser Befehl ebenfalls zwischengespeichert wurde. Was passiert, wenn ich einen Befehl ausführen will, der nicht in der Variable path hinterlegt ist? Das schauen wir uns gleich mit einem kleinen Beispiel an. Ich erstelle eine Datei mit dem vi-Editor und die Datei heißt Hallo. Ich navigiere in den Insert-Modus und ich tippe folgenden Satz ein: echo, doppelte Hochkommas, Hallo, mein Name ist Tom Ganz einfach, ganz simpel. Ich verlasse den Insert-Modus wieder speichere die Datei mit :wq. w steht für write, q steht für quit, Und die Datei ist erstellt. In der Tat, wir haben eine Datei Hallo. Damit diese Datei ausführbar wird, muss ich die Berechtigung ändern. Dazu verwende ich chmod, dann das +x. Mit dem +x kann ich die Datei ausführbar machen. Das habe ich nun gemacht und nun möchte ich diese Datei – nun ist es ein Script – direkt starten. Ich setze also den Befehl ein. Hallo, und ... Kommando nicht gefunden. Warum geht das nicht? Das geht nicht, weil das Script, dieser Befehl, nicht in der Variable path hinterlegt ist. Wenn ich nun folgendes einsetze, den Punkt und dann den Slash, dann erkläre ich der Bash, dass ich nun aus meinem Ordner – das referenziert der Punkt – mit dem Slash gebe ich den absoluten Pfad an zu meiner Datei, zu meinem Script Hallo, Nun kann ich dieses Kommando aufrufen und Sie sehen, Hallo, mein Name ist Tom. Nun startet also dieses Script. Es gibt aber auch Befehle, die direkt in der Bash integriert sind. Das bedeutet, dass die Bash nicht zuerst die Variable path durchsuchen muss. Das können wir ausfindig machen, indem wir wieder den Befehl type einsetzen und dann zum Beispiel das Kommando cd, change directory. Und Sie sehen, cd ist eine von der Shell mitgelieferte Funktion. type und der nächste Befehl kill – das sehen wir hier – kill ist eine von der Shell mitgelieferte Funktion, aber Achtung. Es gibt auch einen kill-Befehl im folgenden Verzeichnis. Und dieser Befehl ist abgelegt im Verzeichnis. Ich verwende da ls /bin und ich zeige Ihnen diesen Befehl kill. Den sehen wir direkt hier. Unter /bin ist also auch ein Kommando kill hinterlegt. Wir haben also die Situation, dass wir ein Kill (haben), welches in der Bash integriert ist, und wir haben eine Situation, dass kill ebenfalls unter /bin vorhanden ist. Das ist in der Tat nicht sehr schön. Ich empfehle Ihnen, wenn Sie nicht sicher sind, wie der Befehl integriert ist, verwenden Sie type und dann das entsprechende Kommando. Dann erhalten Sie einen ersten Eindruck: Ist dieser Befehl eine Bash-integrierte Funktion oder ist der Befehl in einem Verzeichnis abgelegt? Da müssen Sie ein wenig recherchieren, um die notwendigen Informationen zu finden. In diesem Video habe ich Ihnen gezeigt, wie in der Bash Befehle ausgeführt werden können.

CompTia Linux+ LX0-103 (Teil 3) GNU- und Unix-Befehle

Lernen Sie den Umgang mit der Kommandozeile, Dateien und Prozessen kennen und bereiten Sie sich auf die Comptia Linux+-Zertifizierungsprüfung LX0-103 vor.

3 Std. 32 min (40 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!