Tipps und Tricks zur Linux-Befehlszeilen-Navigation – Teil 1

Wenn Sie gerade erst mit der Verwendung der Befehlszeile unter Linux begonnen haben, dann sollten Sie wissen, dass es sich um eine der leistungsfähigsten und nützlichsten Funktionen des Betriebssystems handelt. Die Lernkurve kann steil sein oder auch nicht, je nachdem, wie tief Sie in das Thema eintauchen möchten. Es gibt jedoch einige Linux-Befehlszeilen-Tipps und -Tricks, die unabhängig von Ihrem Kenntnisstand immer hilfreich sein werden.

In dieser Artikelserie werden wir mehrere solcher Tipps/Tricks diskutieren, in der Hoffnung, dass sie Ihre Kommandozeilenerfahrung noch angenehmer machen.

Linux Kommandozeilen-Tipps und -Tricks

Bitte beachten Sie, dass wir davon ausgegangen sind, dass Sie die Grundlagen der Befehlszeile unter Linux kennen, wie z.B. das Root- und Home-Verzeichnis, was sind Umgebungsvariablen, wie man durch Verzeichnisse navigiert und mehr. Beachten Sie auch, dass Tipps/Tricks von dem Wie und Warum des betreffenden Konzepts begleitet werden (wo immer möglich).

Einfaches Umschalten zwischen zwei Verzeichnissen – der schnelle Tipp

Angenommen, Sie arbeiten an der Befehlszeile, die erfordert, dass Sie mehrmals zwischen zwei Verzeichnissen wechseln. Und diese beiden Verzeichnisse befinden sich in völlig unterschiedlichen Zweigen, z.B. unter /home/ und unter /usr/. Was würdest du tun?

Eine und die einfachste Option ist die Umschaltung durch Eingabe der vollständigen Pfade zu diesen Verzeichnissen. Obwohl es kein Problem mit dem Ansatz an sich gibt, ist er sehr zeitaufwendig. Eine andere Möglichkeit könnte sein, zwei separate Terminals zu öffnen und mit Ihrer Arbeit fortzufahren. Aber auch hier ist weder dieser Ansatz bequem noch sieht er elegant aus.

Sie werden sich freuen zu wissen, dass es eine einfache Lösung für dieses Problem gibt. Alles, was Sie tun müssen, ist, zuerst manuell zwischen den beiden Verzeichnissen zu wechseln (indem Sie ihre jeweiligen Pfade an den Befehl cd übergeben), und dann können nachfolgende Schalter mit dem Befehl cd – durchgeführt werden.

Zum Beispiel:

Ich bin im folgenden Verzeichnis:

$ pwd
/home/himanshu/Downloads

Und dann wechselte ich zu einem anderen Verzeichnis im Zweig /usr/:

cd /usr/lib/

Jetzt kann ich mit dem folgenden Befehl einfach hin und her wechseln:

cd -

Hier ist ein Screenshot, der den Befehl cd – in Aktion zeigt.

Der Linux cd-Befehl

Ein wichtiger Punkt, der hier erwähnt werden sollte, ist, dass, wenn Sie zwischendurch in ein drittes Verzeichnis wechseln, der Befehl cd – für das neue Verzeichnis und das Verzeichnis, aus dem der Wechsel erfolgte, funktioniert.

Einfaches Umschalten zwischen zwei Verzeichnissen – zugehörige Details

Für die neugierigen Leute, die wissen wollen, wie der cd – Befehl funktioniert, hier ist die Erklärung: Wie wir alle wissen, benötigt der Befehl cd einen Pfad als Argument. Wenn nun ein Bindestrich (-) als Argument an den Befehl übergeben wird, wird er durch den Wert ersetzt, den die OLDPWD-Umgebungsvariable in diesem Moment enthält.

Der Befehl cd erklärt

Wie inzwischen klar ist, speichert die Variable OLDPWD-Umgebung den Pfad des vorherigen Arbeitsverzeichnisses. Diese Erklärung ist, dass es die Manualseite des cd-Befehls gibt, aber leider ist es wahrscheinlich, dass Sie die Manualseite nicht auf Ihrem System vorinstalliert finden werden (sie ist zumindest nicht auf Ubuntu vorhanden).

Die Installation ist jedoch keine große Sache, alles, was Sie tun müssen, ist, den folgenden Befehl auszuführen:

sudo apt-get install manpages-posix

Und dann tu es:

Mann CD

Sobald sich die Man Page öffnet, wirst du sehen, dass sie deutlich steht:

- When a hyphen is used as the operand, this shall be equivalent
 to the command:

cd „$OLDPWD“ && pwd

Unnötig zu sagen, dass es der Befehl cd ist, der die Variable OLDPWD setzt. Jedes Mal, wenn Sie das Verzeichnis ändern, wird also das vorherige Arbeitsverzeichnis in dieser Variablen gespeichert. Damit kommen wir zu einem weiteren wichtigen Punkt: Wenn eine neue Shell-Instanz gestartet wird (sowohl manuell als auch durch ein Skript), hat sie kein’vorheriges Arbeitsverzeichnis‘.

Bindestrich und der Befehl cd

Das ist logisch, denn es ist der cd-Befehl, der diese Variable setzt. Bis Sie also den cd-Befehl mindestens einmal ausgeführt haben, enthält die OLDPWD-Umgebungsvariable keinen Wert.

Weiter geht es, auch wenn es kontraintuitiv erscheinen mag, die Befehle cd – und cd $OLDWPD führen nicht in allen Situationen zu gleichen Ergebnissen. Ein Beispiel dafür, wenn eine neue Shell gerade gestartet wurde.

cd Kommandobeispiel

Wie aus dem Screenshot oben ersichtlich ist, hat der Befehl cd – zwar beanstandet, dass die Variable OLDPWD nicht gesetzt wurde, der Befehl cd $OLDPWD jedoch keinen Fehler verursacht, sondern das aktuelle Arbeitsverzeichnis in das Heimatverzeichnis des Benutzers geändert.

Das liegt daran, dass $OLDPWD, da die Variable OLDPWD derzeit nicht gesetzt ist, nichts anderes als eine leere Zeichenkette ist. Der Befehl cd $OLDPWD ist also so gut wie das Ausführen von cd, das Sie standardmäßig – in Ihr Heimatverzeichnis führt.

Schließlich habe ich auch Situationen durchgemacht, in denen es wünschenswert ist, die Ausgabe des cd – Befehls zu unterdrücken. Was ich meine, ist, dass es Fälle geben kann (z.B. beim Schreiben eines Shell-Skripts), in denen der Befehl cd – nicht den üblichen Verzeichnispfad in der Ausgabe erzeugen soll. In solchen Situationen können Sie den Befehl wie folgt verwenden:

cd – &>/dev/null

Der obige Befehl leitet sowohl Datei-Deskriptor 2 (STDERR) als auch Deskriptor 1 (STDOUT) nach /dev/null um. Das bedeutet, dass jeder Fehler, den der Befehl verursacht, ebenfalls unterdrückt wird. Sie können jedoch immer noch den Erfolg des Scheiterns des Befehls mit der allgemeinen $? Technik überprüfen – der Befehl echo $? erzeugt ‚1‘, wenn es einen Fehler gab, und ‚0‘ andernfalls.

Alternativ, wenn du damit einverstanden bist, dass der cd – Befehl in Fehlerfällen eine Ausgabe erzeugt, dann kannst du stattdessen den folgenden Befehl verwenden:

cd – > /dev/null

Dieser Befehl leitet nur den Datei-Deskriptor 1 (STDOUT) an .

Fazit

Leider konnten wir hier nur einen kommandozeilenbezogenen Hinweis geben, aber das Gute ist, dass wir es geschafft haben, viele tiefgründige Dinge über den cd – Befehl zu diskutieren. Es wird empfohlen, das Tutorial gründlich durchzugehen und alles – was wir hier besprochen haben – auf dem Kommandozeilen-Terminal Ihrer Linux-Box zu testen. Gehen Sie auch die Man Page des Befehls durch und probieren Sie alle dort dokumentierten Funktionen aus.

Falls Sie ein Problem haben oder Zweifel haben, teilen Sie es uns bitte in den folgenden Kommentaren mit. Warten Sie in der Zwischenzeit auf den zweiten Teil, in dem wir – wie hier beschrieben – einige weitere nützliche Tipps/Tricks zum Thema Befehlszeile besprechen werden.

Das könnte Dich auch interessieren …