Holen Sie sich den absoluten Pfad in Bash

Abid Ullah 20 Juni 2023
  1. So erhalten Sie den absoluten Pfad in Bash
  2. Das Stammverzeichnis einer Datei in Linux
  3. Verwenden Sie den Befehl readlink, um den absoluten Pfad in Linux zu erhalten
  4. Verwenden Sie den Befehl realpath, um den absoluten Pfad in Linux zu erhalten
  5. Verwenden Sie den Befehl find, um den absoluten Pfad in Linux zu erhalten
Holen Sie sich den absoluten Pfad in Bash

In diesem Bash-Artikel lernen wir verschiedene Methoden kennen, um den absoluten Pfad in Linux zu erhalten. Wir werden auch einige verschiedene Linux-Befehle lernen, um den absoluten Pfad einer Datei zu erhalten.

Bevor wir beginnen, müssen wir die grundlegenden Konzepte von absoluten und relativen Pfaden im Linux-Betriebssystem verstehen.

So erhalten Sie den absoluten Pfad in Bash

Die Bausteine eines Betriebssystems sind Dateien und Ordner. Als Linux-Benutzer betreiben wir mehrere Datei- und Verzeichnisaktionen.

Das Finden des gesamten Pfads einer Datei ist ein solcher Prozess. Der vollständige Pfad einer Datei wird auch als absoluter oder kanonischer Pfad bezeichnet.

Eine Adresse, die zum Suchen einer Datei oder eines Ordners verwendet wird, wird als Pfad bezeichnet. Ein absoluter Pfad ist eine vollständige Adresse oder ein Ort, der es uns ermöglicht, die gewünschte Datei von jedem Ort abzurufen.

Währenddessen wird ein relativer Pfad zum aktiven Arbeitsverzeichnis eingerichtet.

Ein Pfad ist ein Verweis auf ein Verzeichnis oder eine Datei. Unter Linux gibt es zwei Arten von Pfaden: absolute und relative.

Das aktuelle Arbeitsverzeichnis bestimmt den relativen Pfad. Andererseits ist der absolute Pfad der vollständige Pfad zu einer Datei oder einem Verzeichnis.

Es gibt mehrere Methoden in Bash, um die vollständige Adresse eines Skripts zu erhalten. Wir können realpath, readlink verwenden oder sogar unser kleines benutzerdefiniertes Skript schreiben.

Die Verwendung einer relativen Adresse macht es sehr einfach, die gesamte Adresse zu erhalten.

Der gesamte Pfad wird explizit aus dem Stammverzeichnis bereitgestellt. Das / ist eine einfache Methode, um zu wissen, was was ist.

Ein relativer Pfad beginnt nicht mit /. (der Stammordner). Dieser Artikel erklärt, wie man den absoluten Pfad eines Skripts in Bash findet.

In diesem Artikel werden zahlreiche Methoden zum Ermitteln des gesamten Pfads einer Datei oder eines Ordners beschrieben.

Das Stammverzeichnis einer Datei in Linux

Das oberste Verzeichnis des Dateisystems ist Root Directory oder Absolute Directory in Linux. Das Root-Verzeichnis ist mit einem Schrägstrich / gekennzeichnet.

Wir können den Speicherort einer beliebigen Datei oder eines Verzeichnisses im Dateisystem mit einem vollständigen Pfad beschreiben, der mit einem Schrägstrich / beginnt.

Dieser vollständige Pfad wird als absoluter Pfad bezeichnet, was bedeutet, dass er jeden Schritt angibt, der von der Wurzel oder dem absoluten Anfang des Dateisystems aus unternommen werden muss.

Verwenden Sie den Befehl cd

Der Befehl cd (change directory) im Linux-Betriebssystem wird verwendet, um das aktuelle Arbeitsverzeichnis zu ändern.

$ cd /tmp

Verwenden Sie den Befehl mkdir

Dann verwenden wir den Befehl mkdir, gefolgt von dem Namen, den Sie dem neuen Verzeichnis geben möchten.

$ mkdir -p dir11/dir12/dir13/dir14/dir15

Verwenden Sie den touch-Befehl, um ein Verzeichnis zu erstellen

Nach dem Erstellen eines neuen Verzeichnisses oder neuer Verzeichnisse verwenden wir den Befehl touch zum Erstellen, Ändern oder Modifizieren unserer Dateien.

Beispielcode:

$ touch dir11/dir12/file12.txt
$ touch dir11/dir12/dir13/dir14/file14.txt
$ touch dir11/dir12/dir13/dir14/dir15/file15.txt

Die Ausgabe des Codes:

$ tree /tmp/dir11/
/tmp/dir11/
└── dir12
    ├── dir13
    │   └── dir14
    │       ├── dir15
    │       │   └── file15.txt
    │       └── file14.txt
    └── file12.txt

Im obigen Beispiel haben wir 4 Verzeichnisse und 3 Dateien erstellt. Unser absolutes Verzeichnis ist dir11/dir12/dir13/dir14/dir15/file15.txt.

Der relative Pfad einer Datei in Linux

Die absoluten Pfade sind leicht verständlich, können aber auch umständlich zu handhaben sein, insbesondere bei der Arbeit mit tief verschachtelten Verzeichnissen.

Hier ist der relative Pfad hilfreich. Wenn Sie sich den obigen Code ansehen, lautet unser relativer Verzeichnispfad außerdem dir13/file12.txt.

Mit dem Befehl readlink kann die vollständige Adresse einer Datei ermittelt werden. readlink wird oft verwendet, um den Pfad eines symbolischen Links oder einer kanonischen Datei zu erfassen.

readlink kann aber auch den absoluten Pfad aus einem relativen Pfad berechnen. Sie müssen den readlink in jedem Fall mit einem Flag versehen.

In solchen Fällen wird am häufigsten das Flag f verwendet.

Der Befehl readlink gibt eine Liste kanonischer Dateinamen zurück. Um den gesamten Pfad einer Datei zu finden, können wir das Argument -f dieses Befehls verwenden.

Dies sind die Verzeichnisse, und in diesen Verzeichnissen befinden sich Dateien. Wir können den absoluten Pfad jeder benötigten Datei erhalten.

Beispielcode:

$ cd /tmp/dir11/dir12/dir13/dir14/dir15/

Wir schreiben den Dateinamen, von dem wir den Pfad erhalten möchten.

$ readlink -f file15.txt

Nachdem wir den readlink -f mit dem Namen der Datei verwendet haben, haben wir den genauen Pfad der Datei, und hier ist er:

/tmp/dir1/dir2/dir3/dir4/dir5/file5.txt

Wie wir in der Ausgabe des Codes sehen können, erhalten wir den absoluten Pfad der gewünschten Datei.

Verwenden Sie den Befehl realpath, um den absoluten Pfad in Linux zu erhalten

Alternativ können wir den Befehl realpath verwenden, um den absoluten Pfad einer Datei unter Linux zu erhalten.

Beispielcode:

$ cd /tmp/dir11/dir12/dir13/dir14/
$ realpath file14.txt

Hier ist der Pfad der Datei file14.txt.

/tmp/dir1/dir2/dir3/dir4/file4.txt

Wie wir sehen können, können wir mit dem Befehl realpath den gewünschten absoluten Pfad einer Datei unter Linux erhalten.

Verwenden Sie den Befehl find, um den absoluten Pfad in Linux zu erhalten

Wir können die Struktur oder Hierarchie eines Verzeichnisses mit dem Befehl find finden. Unter Linux können wir den Befehl find verwenden, um den absoluten Pfad oder Ort einer Datei auszugeben.

Wir werden den folgenden Code verwenden, um den absoluten Pfad der file14.txt zu finden.

$ cd /tmp/dir11/
$ find $PWD -type f -name file14.txt

Und der absolute Pfad der Datei file14.txt ist:

/tmp/dir11/dir12/dir13/dir14/file14.txt

Wie wir in der obigen Ausgabe des Codes sehen können, erhalten wir den absoluten Pfad der gewünschten Datei mit dem Befehl find im Terminal.

Wir hoffen, dass Sie diesen Artikel hilfreich finden, um zu verstehen, wie Sie den absoluten Pfad einer beliebigen Datei im Linux-Betriebssystem erhalten.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn