GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Navigieren im Dateisystem mit relativen Pfaden in der Befehlszeile

Wenn Sie auf dem Weg zur Arbeit sind, aber zuerst in einem Feinkostgeschäft frühstücken, gehen Sie nach dem Frühstück nicht nach Hause, damit Sie Ihre Reise fortsetzen können. Stattdessen fahren Sie von dort aus fort, wo Sie sich gerade befinden, da Sie wissen, wo sich Ihr Büro im Verhältnis zu Ihrem aktuellen Standort befindet. Die Navigation auf Ihrem Computer erfolgt auf die gleiche Weise. Wenn Sie Ihr Arbeitsverzeichnis in einem Terminal in ein Unterverzeichnis wie Bilder ändern , müssen Sie nicht unbedingt wieder nach Hause gehen, nur um in Dokumente zu gelangen . Stattdessen verwenden Sie einen relativen Pfad.

Das Linux-Terminal

  • Die 7 besten Terminalemulatoren für Linux
  • 10 Befehlszeilentools für die Datenanalyse unter Linux
  • Jetzt herunterladen:SSH-Spickzettel
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Linux-Befehlszeilen-Tutorials

Umgekehrt beginnen absolute Pfade immer am Anfang Ihrer Festplatte. Dass Sie den Anfang erreicht haben, erkennen Sie an einem einzelnen Schrägstrich (/ ) mit nichts auf der linken Seite, da die Stammebene Ihres Laufwerks der größte Container ist und alle Ihre Ordner und Dateien darin enthält. Aus diesem Grund ist der Pfad /home/seth (und seine Kurzversion ~ , obwohl das weniger klar ist, weil der Schrägstrich ganz links fehlt) wird als absoluter Pfad betrachtet. Es stellt die Basisebene Ihrer Festplatte dar, die das Zuhause enthält Verzeichnis, das wiederum seth enthält (mein Benutzername).

Alles, was mit einem Schrägstrich beginnt, ist ein absoluter Pfad, was das digitale Äquivalent dazu ist, dass Sie 12 Blocks nach Hause gehen, nur um einen Ort zu erreichen, der zwei Blocks von Ihrem aktuellen Standort entfernt ist. Diese Tatsache bedeutet jedoch nicht, dass absolute Pfade schlecht sind. Es gibt viele triftige Gründe, absolute Pfade zu verwenden, nicht zuletzt ihre Klarheit. Wenn Sie Ihre Fahrt von absoluten Pfaden aus navigieren können, verwenden Sie diese als Wegweiser. Mit der automatischen Vervollständigung kann die Eingabe eines vollständigen Pfads so schnell sein wie die Verwendung eines relativen Pfads, insbesondere mit der automatischen Vervollständigung.

Relative Pfade können jedoch bequem und in einigen Fällen lebenswichtig sein. Sie können sich beispielsweise nie sicher sein, welchen absoluten Pfad ein Webserver hat. Wenn ein Webdesigner weiß, dass er Webschriftarten in einem lokalen Verzeichnis aufbewahrt, erstellt er auf seinem Entwicklungs-Laptop unter Verwendung des absoluten Pfads /home/webdev/Public/www.example.com/fonts einen Link zu diesen Schriftarten , dann werden alle ihre Links unterbrochen, wenn der Code an /var/www/example.com/fonts gepusht wird auf dem Server.

Außerdem ist es manchmal wirklich schneller und einfacher, cd ../Documents einzugeben statt cd /home/seth/Documents .

Relative Pfade verwenden zwei Steuersequenzen:die einzelne (. ) und das Doppel (.. ) Punkt. Ein einzelner Punkt bedeutet nicht bewegen . Der doppelte Punkt bedeutet einen Schritt zurück . Diese Punkte funktionieren am besten, wenn Sie mit dem, was sich auf Ihrem Laufwerk befindet, einigermaßen vertraut sind und vorausgesetzt, dass Sie die entsprechenden Pfade visualisieren können.

Es kann hilfreich sein, sich jedes Verzeichnis als Raum in einem Haus vorzustellen. Zum Beispiel, wenn Sie wissen, dass Sie ein Home-Verzeichnis haben, das sowohl Bilder enthält und ein Dokumente Ordner können Sie sich jedes Unterverzeichnis als einen Schritt nach vorn von zu Hause aus vorstellen:

Um von einem Raum in den anderen zu gelangen, müssen Sie mit dem Schritt zurück in den Gemeinschaftsbereich zurückkehren Steuersequenz, und treten Sie dann in die andere vor. Mit dem pwd können Sie jederzeit Ihren aktuellen Standort abrufen (Arbeitsverzeichnis drucken) Befehl:

$ pwd
/home/seth/Pictures
$ cd ../Documents
$ pwd
/home/seth/Documents

Denken Sie daran, dass ein einzelner Punkt nicht bewegen bedeutet , und es tut genau das:

$ pwd
/home/seth
$ cd .
$ pwd
/home/seth

Es mag seltsam erscheinen, einen speziellen Befehl zu haben, der einen Zustand ohne Änderung darstellt, aber es ist eine nützlich explizite Anweisung. Wenn Sie beispielsweise eine benutzerdefinierte Anwendung erstellen, um den Inhalt eines Verzeichnisses aufzulisten und in Ihrem Home-Verzeichnis zu speichern, nennen Sie die Anwendung törichterweise reboot , dann sollten Sie jedes Mal, wenn Sie diese benutzerdefinierte Anwendung verwenden, darauf achten, dass Ihr Computer genau weiß die reboot auszuführenden Befehl.

Eine Möglichkeit, die Version anzugeben, besteht darin, einen expliziten Pfad zu Ihrer benutzerdefinierten und schlecht benannten Anwendung bereitzustellen. Der einzelne Punkt verstärkt Ihren Wunsch, nicht von Ihrem beabsichtigten Pfad abzuweichen, wenn Sie sich bereits im Verzeichnis befinden:

$ pwd
/home/seth
$ ./reboot
Documents/     Downloads/
Music/         Pictures/
Public/        Spheniscidae/
Videos/        Yugolothae/

Ein anderer Fall, in dem Sie einen einzelnen Punktbezeichner benötigen, ist, wenn ein Tool standardmäßig nicht im aktuellen Verzeichnis nach einem Argument sucht. Beispiel:dnf Der Befehl geht davon aus, dass jedes Paket, das Sie installieren sollen, ein Paket ist, das Sie aus einem Repository herunterladen müssen. Wenn Sie etwas, das Sie bereits heruntergeladen haben, lokal installieren möchten, können Sie es mit einem einzelnen Punkt, also dnf , auf ein Paket im aktuellen Verzeichnis verweisen arbeitet damit, anstatt zu versuchen, es in einem Repository zu finden:

$ sudo dnf install ./example.rpm

Manchmal kann der einzelne Punkt als Füllzeichen in Pfaden nützlich sein, von denen Sie erwarten, dass sie mehrere Ebenen enthalten. Nehmen Sie zum Beispiel einen Webentwickler, der mehrere Links zu einer Schriftart verwendet hat Verzeichnis, das einmal drei Schritte zurück war. Kürzlich hat dieser Entwickler jedoch die Schriftart verschoben Verzeichnis in dasselbe Verzeichnis wie ihr HTML. Wenn der Entwickler nicht alle Instanzen von ../../../fonts ersetzt mit ./././fonts , ihre Website wird kaputt gehen.

Hinweis: In diesem Beispiel das Ändern von ../../../fonts zu ./fonts würde funktionieren, aber nehmen Sie für dieses Beispiel an, dass dies ein Skript beschädigen würde, das drei Ebenen vor den Schriftarten erwartet Verzeichnis.

Relative Pfade können zunächst verwirrend sein, bleiben Sie also beim Navigieren auf Ihrem Computer bei absoluten Pfaden, bis Sie mit dem Konzept der Relativität vertraut sind. Viele Leute finden sie nützlich, während andere sie nicht verwenden. Es ist alles relativ.


Linux
  1. Lassen Sie sich mit sort in der Befehlszeile sortieren

  2. Kopieren und Einfügen in der Linux-Befehlszeile mit xclip

  3. Bearbeiten von Text auf der Kommandozeile mit sed

  4. Ausführen einer ausführbaren Datei im Pfad mit demselben Namen wie eine vorhandene Funktion?

  5. Ein kleiner Trick:Wählen Sie mit shuf eine zufällige Datei oder Zeile in der Datei aus

So prüfen Sie die Rechtschreibung auf der Linux-Befehlszeile mit Aspell

Meistern Sie die Linux-Befehlszeile

Bearbeiten von Text in der Befehlszeile mit grep

Eine Anleitung für Anfänger zum Navigieren im Linux-Dateisystem

Zeiterfassung mit Timewarrior auf der Kommandozeile

So funktioniert die Versionskontrolle mit Git auf der Kommandozeile