Linux-Tutorial / Navigieren in Verzeichnissen mit pwd, ls, cd und tree

Um in Linux-Verzeichnissen zu navigieren, verwenden Sie pwd, um zu überprüfen, wo Sie sich befinden, ls, um ein Verzeichnis zu inspizieren, und cd, um sich zu bewegen. tree kann die Hierarchie anzeigen, wenn Sie einen breiteren Überblick benötigen. Diese Lektion kombiniert die vier Befehle, damit Sie sehen können, wie absolute und relative Pfade jede Bewegung beeinflussen.

Wenn tree fehlt, fahren Sie mit ls fort. Für die Installation verwenden Sie die Lektion zur Paketverwaltung mit APT und DNF, um den entsprechenden Distributionsbefehl auszuwählen.

Überprüfen Sie zuerst Ihr aktuelles Arbeitsverzeichnis

Ein relativer Pfad, der in einem Terminal eingegeben wird, wird vom aktuellen Arbeitsverzeichnis aus interpretiert. Ihre Eingabeaufforderung könnte einen gekürzten Speicherort anzeigen oder angepasst sein, verwenden Sie daher pwd, wenn Sie den genauen Pfad benötigen.

pwd

Beispielsweise, wenn Ihr Konto learner heißt und Sie sich im Home-Verzeichnis befinden, könnte die Ausgabe sein:

/home/learner

Der tatsächliche Home-Pfad hängt von der Kontokonfiguration ab. pwd ändert Ihren Standort nicht. Wenn Sie ein Verzeichnis über einen symbolischen Link betreten haben, können sich dessen logischer Pfad und physischer Pfad unterscheiden. In Bash zeigt pwd -P den physisch aufgelösten Pfad an.

Inhalt eines Verzeichnisses anzeigen

ls listet Datei- und Verzeichnisnamen auf. Ohne ein Argument listet es das aktuelle Verzeichnis; mit einem Pfad listet es diesen Ort auf. Diese Befehle untersuchen Ihr aktuelles Verzeichnis und dann /etc:

ls

ls /etc

Die Ausgabe von ls /etc könnte solche Namen enthalten. Dies ist eine verkürzte Darstellung, keine vollständige Auflistung; Namen und Aufbau unterscheiden sich je nach System.

hosts  passwd  ssh

Namen, die mit einem Punkt beginnen, werden normalerweise in der Standardauflistung weggelassen. Fügen Sie -a hinzu, um versteckte Einträge einzuschließen. Verwenden Sie -l, um Details wie Berechtigungen, Eigentümer, Größe und Änderungszeit anzuzeigen.

ls -a

ls -l /etc

Das erste Zeichen in einer ls -l-Zeile gibt den Typ des Verzeichniseintrags an: d bedeutet üblicherweise ein Verzeichnis, - eine reguläre Datei und l einen symbolischen Link. In der Lektion über Dateitypen wird der Rest der Zeile erklärt. Wenn Sie Details über ein Verzeichnis selbst benötigen und nicht über dessen Inhalt, verwenden Sie ls -ld path.

Bewegen mit absoluten und relativen Pfaden

cd ändert das Arbeitsverzeichnis der aktuellen Shell. Ein absoluter Pfad wie /etc führt Sie zum selben Ort, unabhängig davon, wo Sie starten. Folgen Sie ihm mit pwd, um das Ergebnis zu überprüfen.

cd /etc

pwd

Die Ausgabe von pwd wird normalerweise sein:

/etc

Während Sie sich in /etc befinden, geht cd .. zum übergeordneten Verzeichnis, /. cd - kehrt zum vorherigen Arbeitsverzeichnis zurück; Bash gibt auch das Verzeichnis aus, zu dem es zurückkehrt. Führen Sie die folgenden Befehle in derselben Shell und in dieser Reihenfolge für das beschriebene Ergebnis aus.

cd ..

pwd

cd -

pwd

Hier druckt das erste pwd / aus; cd - und das letzte pwd zeigen /etc. Wenn Sie zwischenzeitlich woanders hingegangen sind, wird cd - zu einem anderen Verzeichnis zurückkehren.

Das Ausführen von cd ohne Argument geht zu Ihrem Home-Verzeichnis. In Bash ist cd ~ eine weitere gängige Möglichkeit, es zu erreichen. Da ein Home-Verzeichnis nicht unbedingt unter /home liegt, bestätigen Sie das Ergebnis mit pwd.

cd

pwd

Die Verzeichnisstruktur anzeigen

tree zeigt eine Hierarchie mit Ästen und Einrückungen an. Während ls nützlich ist, um ein einzelnes Verzeichnis zu untersuchen, hilft tree Ihnen zu sehen, wie Verzeichnisse zusammenpassen. Begrenzen Sie zunächst die Tiefe, um eine sehr lange Auflistung zu vermeiden.

tree -d -L 1 /etc

Folgen Sie den Ästen in dieser abgekürzten Darstellung, um zu sehen, welche Verzeichnisse direkt unter /etc liegen. Die tatsächlichen Verzeichnisnamen und -anzahlen variieren.

/etc

├── ssh

└── systemd

-d zeigt nur Verzeichnisse an, und -L 1 begrenzt die angezeigte Tiefe auf eine Ebene. Falls tree nicht installiert ist, könnten Sie command not found sehen. Sie können vorerst ls verwenden und später tree mit dem Paketmanager Ihrer Distribution installieren. Für die restlichen Übungen wird es nicht benötigt.

Üben Sie das Navigieren von Pfaden

Folgen Sie diesen Schritten und sagen Sie das aktuelle Verzeichnis vor jedem pwd voraus. Es ist in Ordnung, wenn Ihre /etc-Auflistung vom Beispiel abweicht; diese Übung erstellt oder ändert keine Dateien.

  1. Führen Sie pwd aus, um Ihr Startverzeichnis zu überprüfen.
  2. Führen Sie cd /etc aus, dann verwenden Sie pwd und ls, um Ihren Standort und dessen Inhalt zu überprüfen.
  3. Führen Sie cd .. aus und verwenden Sie pwd, um zu bestätigen, dass Sie sich bei / befinden.
  4. Verwenden Sie cd -, um zu /etc zurückzukehren; führen Sie schließlich cd aus, um nach Hause zurückzukehren.

Wenn Sie cd: ...: No such file or directory sehen, überprüfen Sie die Rechtschreibung und Groß-/Kleinschreibung des Pfads. Permission denied kann bedeuten, dass Ihnen die Berechtigung fehlt, es zu betreten. Wenn Sie sich über Ihren Standort unsicher sind, beginnen Sie erneut mit pwd, anstatt zu raten.

Für weitere Optionen und Sonderfälle lesen Sie die einzelnen Anleitungen zu pwd, ls, cd und tree.

Offizielle Dokumentation

Siehe die GNU Bash Built-ins Dokumentation für cd und Bashs pwd, die GNU Coreutils ls Dokumentation und das tree(1) Handbuch für die hier verwendeten Optionen.