Heim  >  Artikel  >  System-Tutorial  >  Was ist der Unterschied zwischen absoluten Pfaden und relativen Pfaden unter Linux?

Was ist der Unterschied zwischen absoluten Pfaden und relativen Pfaden unter Linux?

WBOY
WBOYnach vorne
2024-02-10 20:03:20730Durchsuche

Pfad ist ein sehr wichtiges Konzept im Linux-System und jeder Linux-Benutzer sollte es verstehen.

Es bezieht sich auf den Speicherort von Dateien und Verzeichnissen in der Linux-Verzeichnisstruktur, bestehend aus Namen und Schrägstrichen. Über Pfade können wir schnell den Speicherort von Dateien oder Verzeichnissen finden.

/home/abhishek/scripts

Als Systembenutzer werden Pfade verwendet, wenn Sie auf eine Datei oder ein Verzeichnis zugreifen möchten oder wenn Sie den Speicherort einer Datei oder eines Verzeichnisses für einen Befehl oder ein Skript angeben müssen.

cat /home/abhishek/scripts/my_script.sh

Denken Sie daran, dass, wenn der Pfad mit einem Schrägstrich „/“ beginnt, der erste Schrägstrich den Stamm darstellt und die übrigen Schrägstriche im Pfad nur Trennzeichen sind. Anfänger verwechseln oft den -Wurzel--Schrägstrich und den -Trennzeichen--Schrägstrich.

Linux 中的绝对路径和相对路径,有什么区别?

Im Bild oben beginnt der erste Pfad mit dem Stammpfad (/) und der zweite Pfad beginnt nicht mit /. Beide Schreibweisen sind korrekt, die erste ist ein absoluter Pfad und die zweite ist ein relativer Pfad.

Absolute Pfade und relative Pfade in Linux

Absolute Pfade beginnen immer im Stammverzeichnis (/), wie zum Beispiel:

/home/abhishek/scripts/my_scripts.sh

Relative Pfade beginnen im aktuellen Verzeichnis. Wenn Sie sich beispielsweise im Verzeichnis /home befinden und auf die Datei my_script.sh zugreifen möchten, sollte der Zugriffspfad wie folgt lauten:

abhishek/scripts/my_scripts.sh

Verstehen Sie den Unterschied zwischen absoluten Pfaden und relativen Pfaden

Wir alle wissen, dass die Verzeichnisstruktur in Linux ein Baum ist, der beim Stammverzeichnis (/) beginnt und dann Zweige generiert.

Angenommen, wir befinden uns jetzt im Verzeichnis abhishek und möchten auf die Datei my_scripts.sh zugreifen, wie in der folgenden Abbildung mit den beiden Pfaden dargestellt:

Linux 中的绝对路径和相对路径,有什么区别?

Angenommen, wir verwenden den Befehl ls, um die Dateiinformationen von my_script.sh anzuzeigen, und verwenden dann den absoluten Pfad:

ls -l /home/abhishek/scripts/my_script.sh

Dann der relative Pfad:

ls -l scripts/my_script.sh

Dann sind die beiden oben genannten Methoden bis auf die unterschiedlichen Dateipfade genau gleich:

Linux 中的绝对路径和相对路径,有什么区别?

Hinweis: Unter Linux wird bei Dateinamen die Groß-/Kleinschreibung beachtet. Kann Groß- und Kleinbuchstaben, Zahlen, Punkte, Bindestriche, Unterstreichungen und die meisten Zeichen außer Schrägstrich (/) enthalten. Der Schrägstrich (/) ist ein reserviertes Zeichen, das für das Stammverzeichnis und zum Aufteilen von Verzeichnissen in einem Pfad verwendet wird.

Verwenden Sie relative Pfade mit . und .. Verzeichnissen

**
**

Es gibt zwei spezielle relative Pfade:

  • .**** (ein Punkt) : stellt den aktuellen Pfad im Pfad dar
  • ..**** (zwei Punkte) : Zeigt das übergeordnete Verzeichnis an, also das Verzeichnis der oberen Ebene.

Wie unten gezeigt, müssen wir vom Abhishek-Verzeichnis zum Prakash-Verzeichnis wechseln.

Linux 中的绝对路径和相对路径,有什么区别?

Um das Verzeichnis zu wechseln, verwenden Sie den Befehl cd. Wenn Sie einen absoluten Pfad verwenden, können Sie Folgendes tun:

cd /home/prakash

Wenn Sie relative Pfade verwenden, müssen Sie spezielle relative Pfade verwenden. :

cd ../prakash

Warum .. verwenden? Da der relative Pfad im aktuellen Verzeichnis beginnt, müssen wir dem Befehl cd mitteilen, dass er eine Ebene nach oben gehen soll, um zum Verzeichnis /home und von dort in das Verzeichnis prakash zu gelangen.

Absolute Pfade beginnen immer mit / und sind unabhängig vom aktuellen Standort; relative Pfade hängen vom aktuellen Standort ab.

Absoluter Pfad oder relativer Pfad, welcher sollte verwendet werden?

Ehrlich gesagt gibt es keine eindeutige Antwort auf diese Frage. Es kommt darauf an.

Wenn die Verzeichnishierarchie, in der Sie sich gerade befinden, relativ tief ist und Sie eine Ebene nach oben oder unten wechseln müssen, ist es einfacher, relative Pfade zu verwenden.

Vorausgesetzt, Sie befinden sich in

/home/username/programming/project/interface/src/header Verzeichnis und muss auf etwas im Verzeichnis /home/username/programming/project/interface/bin zugreifen. Wenn Sie einen relativen Pfad verwenden, müssen Sie nicht den ganzen langen Verzeichnisnamen eingeben. Verwenden Sie hier einfach .././bin.

Wenn Sie jedoch vom Verzeichnis /home/username/programming/project/interface/src/header aus auf etwas im Verzeichnis /usr/bin zugreifen möchten, verwenden Sie ../../../../.. /../usr/bin ist problematischer. In diesem Fall ist es bequemer, den absoluten Pfad zu verwenden.

Eine andere Situation ist die Verwendung von Pfaden in Skripten oder Programmen. Wenn der Speicherort sicher ist, verwenden Sie einen absoluten Pfad. Wenn Sie mehrere Ordner im Projekt haben und zwischen ihnen wechseln müssen, verwenden Sie hier einen relativen Pfad, da Sie nicht sicher sind, wo der Endbenutzer das Programm ablegen wird.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen absoluten Pfaden und relativen Pfaden unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen