Verwendung von relativen und absoluten Pfaden unter Linux

Verwendung von relativen und absoluten Pfaden unter Linux

01. Übersicht

Absolute und relative Pfade kommen in Shell-Umgebungen häufig vor und haben jeweils ihre eigenen Verwendungszwecke. Manchmal sind relative Pfade praktischer und manchmal sind absolute Pfade praktischer.

02. Absoluter Pfadname

Ein absoluter Pfad muss mit **/** beginnen

Der absolute Pfad zeigt auf den Speicherort der Datei/Files.

Wir können jederzeit den absoluten Pfad verwenden, um die gewünschte Datei zu finden

Beispiel

Beispiel 1:
/home/deng

Beispiel 2:
/usr/share/man

03. Relative Pfadnamen

Relative Pfade beginnen nicht mit **/**

Der relative Pfad ist relativ zum aktuellen Standort und zeigt zum Ziel.

Normalerweise ist ein relativer Pfad kürzer als ein absoluter Pfad und kann als Abkürzung zum schnellen Auffinden von Dateien/Dateien verwendet werden.

Beispiel 1:
../test/itcast

Beispiel 2:
./prüfen

04. Zweck relativer Pfade

Was ist also das Besondere an relativen und absoluten Pfaden? trinken! Das ist wirklich unglaublich! Angenommen, Sie haben eine Software geschrieben, die drei Verzeichnisse erfordert, nämlich etc, bin und man. Verschiedene Personen installieren die Software jedoch gerne in unterschiedlichen Verzeichnissen. Angenommen, Person A installiert die Software in /usr/local/packages/etc, /usr/local/packages/bin und /usr/local/packages/man, aber Person B installiert die Software gerne in /home/packages/etc, /home/packages/bin und /home/packages/man. Wenn absolute Pfade erforderlich sind, wäre das problematisch? Ja! Auf diese Weise ist es schwierig, die Inhalte in den einzelnen Verzeichnissen abzugleichen! Gerade jetzt ist die Angabe relativer Pfade besonders wichtig!

Wenn Sie außerdem wie ich sind und gerne lange Pfadnamen schreiben, damit Sie wissen, wofür das Verzeichnis ist, z. B.: das Verzeichnis /cluster/raid/output/taiwan2006/smoke, und ein anderes Verzeichnis ist /cluster/raid/output/taiwan2006/cctm, wie schreibe ich es dann bequemer, wenn ich vom ersten zum zweiten Verzeichnis wechseln möchte? Natürlich ist cd.../cctm bequemer! Rechts!

05. Zweck des absoluten Pfads

Was jedoch die Richtigkeit des Dateinamens betrifft, „ist die Genauigkeit des absoluten Pfads besser~“. Generell würde ich Ihnen empfehlen, beim Schreiben von Shell-Skripten zur Verwaltung Ihres Systems absolute Pfade zu verwenden. Wie sagt man es? Obwohl das Schreiben eines absoluten Pfads mühsamer ist, treten mit dieser Schreibmethode garantiert keine Probleme auf. Wenn Sie in Ihrem Programm relative Pfade verwenden, können aufgrund der unterschiedlichen Arbeitsumgebungen, in denen Sie es ausführen, einige Probleme auftreten.

06. Divergentes Denken

Frage: Wenn ein relativer Pfad angegeben ist, wie identifiziert das System den entsprechenden absoluten Pfad?

Tatsächlich basiert der relative Pfad auf der Umgebungsvariablen PATH, um den absoluten Pfad zu finden.

Beispielsweise befinde ich mich derzeit in /home/itcast, dem Home-Verzeichnis des itcast-Benutzers. Ich möchte die Daten der darin enthaltenen .bashrc-Datei mithilfe des Befehls more anzeigen, der sich in /bin/more befindet. Die übliche Befehlsschreibweise lautet:

[itcast@localhost ~]$ mehr .bashrc

Und da der Wert der Variable PATH lautet:

[deng@localhost ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/deng/.local/bin:/home/deng/bin
[deng@localhost ~]$

Beim Ausführen des Befehls more sucht die Shell sequenziell nach dem Pfad der Variable PATH. Sobald eine Übereinstimmung gefunden wird (in diesem Fall sollte die Übereinstimmung /bin/more sein), wird /bin/more .bashrc ausgeführt. Dabei handelt es sich um den Vorgang, bei dem beim Ausführen eines Befehls der absolute Pfad vom relativen Pfad aus gesucht wird.

So können wir verstehen, warum das Format für die Ausführung des ausführbaren Programms im aktuellen Verzeichnis sein sollte:

[deng@localhost ~]$ ./test.sh

Anstatt test.sh direkt zu verwenden. Denn normalerweise enthält die PATH-Variable nicht den aktuellen Pfad. Wenn ./ nicht hinzugefügt wird, kann der Befehl im relativen Pfadformat den absoluten Pfad nicht finden.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So erhalten Sie den absoluten Pfad einer Datei über einen Dateideskriptor in Linux
  • Linux C++ Beispielcode zum Abrufen des absoluten Pfads einer Datei
  • So zeigen Sie den Pfad der MySQL-Konfigurationsdatei auf dem Linux-Server an
  • Linux C: Prozessnamen und Ausführungspfad des aktuellen Prozesses abrufen (Beispiel)
  • So fragen Sie den vollständigen Pfad der laufenden Datei in Linux ab
  • Probleme mit dem Ladepfad und Suchpfad der Dynamic Link Library unter Linux
  • Linux-Methode für schnelle Standort-Webpfade
  • So erhalten Sie den tatsächlichen Pfad des aktuellen Skripts in Linux
  • Ein Beispiel zum Abrufen des aktuellen Arbeitspfads unter Linux

<<:  Eine erfahrene Person zeigt Ihnen, wie Sie ein professionelles und standardisiertes MySQL-Startskript entwickeln

>>:  So verwenden Sie Anti-Shake und Throttling in Vue

Artikel empfehlen

Asynchrone Programmierung in Javascript: Verstehen Sie Promise wirklich?

Inhaltsverzeichnis Vorwort Grundlegende Verwendun...

So legen Sie die UTF-8-Kodierung in einer MySQL-Datenbank fest

Ändern Sie die Datei /etc/my.cnf oder /etc/mysql/...

Detaillierte Erklärung der MySQL-Dreiwertelogik und NULL

Inhaltsverzeichnis Was ist NULL Zwei Arten von NU...

Detaillierte Erklärung zum Erstellen geplanter MySql-Aufgaben in Navicat

Detaillierte Erklärung zum Erstellen geplanter My...

Detaillierte Erläuterung der Verwendung der Vue3-Statusverwaltung

Inhaltsverzeichnis Hintergrund Bereitstellen / In...

So implementieren Sie den Dienststatus zur Nginx-Konfigurationserkennung

1. Überprüfen Sie, ob das Modul „Status prüfen“ i...

Beispiel für die Verwendung einer Keep-Alive-Komponente in Vue

Problembeschreibung (was ist Keep-Alive) Keep-Ali...

Implementierung von React Routing Guard (Routing-Interception)

React unterscheidet sich von Vue. Es implementier...

Detaillierte Erläuterung der Verwendung der MySQL-Verkettungsfunktion CONCAT

In den vorherigen Artikeln wurden die Ersetzungsf...

Implementierungscode zum Hinzufügen von Links zu FLASH über HTML (Div-Ebene)

Heute möchte ein Kunde eine Anzeige schalten und d...