Was ist der Unterschied zwischen Pfad und Verzeichnis?

Antworten:

16

Ein Verzeichnis ist ein "Ordner", ein Ort, an dem Sie Dateien oder andere Verzeichnisse (und spezielle Dateien, Geräte, Symlinks ...) ablegen können. Es ist ein Container für Dateisystemobjekte.

Ein Pfad ist eine Zeichenfolge, die angibt, wie ein Dateisystemobjekt erreicht wird (und dieses Objekt kann eine Datei, ein Verzeichnis, eine spezielle Datei usw. sein).

Beispiel: Sie haben (wahrscheinlich abhängig von Ihrem System) eine Datei, in der Systemnachrichten protokolliert werden syslog.

Es befindet sich normalerweise in einem Verzeichnis mit dem Namen, logdas in einem Verzeichnis mit dem Namen enthalten ist, vardas sich im Stammverzeichnis Ihres Dateisystems befindet.

Nun /var/log/syslogist ein Pfad zu dieser Datei (in diesem Fall ein absoluter Pfad) sowie /var/logein Pfad zu dem Verzeichnis, das die Datei enthält. /var/spool/../log/syslogist auch ein Pfad zur syslogDatei (falls /var/spoolvorhanden).

Pfade können auch relativ sein. Wenn Ihr aktuelles Verzeichnis also ist /home/user, ist der Pfad auch ../../var/log/syslogein relativer Pfad zu derselben Datei (Sie wissen, dass er relativ ist, weil er nicht mit beginnt /).

Und wenn Sie in Ihrem Home-Verzeichnis einen Symlink erstellen, der Ihnen /var/loggefällt:

ln -s /var/log myvarlog

Dann myvarlog/syslogist ein weiterer Pfad zu unserer Datei.

Rmano
quelle
Ich würde gerne den Grund für die Abstimmungen erfahren. Ist die Antwort falsch?
Rmano
2
Leider gibt es keine Möglichkeit, die Motive der Downvoter zu kennen. In jedem Fall ist Ihre Antwort absolut richtig.
Jlliagre
3

Verzeichnis ist, wo Sie sind.

Der Weg ist, wie man dorthin kommt.

/var/www/public/site/pages/

pages ist ein Verzeichnis

/var/www/public/site/pages/ist der Pfad zu Dateien in diesem Verzeichnis. Dies ist ein absoluter Weg.

/var/www/public/site/ ist der Pfad zu diesem Verzeichnis.

./pages/kann ein Pfad zu Dateien in diesem Verzeichnis sein, wenn Sie gerade arbeiten /var/www/public/site/. Dies ist ein relativer Pfad.

David Wilkins
quelle
0

Unter Linux hat die Terminologie "Verzeichnis" normalerweise zwei verschiedene Bedeutungen:

A. Ungeöffnetes Verzeichnis. Ein Teil eines "normalen" Dateisystems (kann zum freien Speichern von Daten wie tmpfs oder ext4 verwendet werden, nicht zum Offenlegen von Kernelfunktionen wie procfs oder sysfs) besteht normalerweise aus eindeutig benannten Zeigern auf andere Teile des Dateisystems (andere Dateien oder Verzeichnisse).

B. Öffnen Sie die Dateibeschreibung eines Verzeichnisses. Ein Kernel-Objekt, das ein Handler für A oder eine Art Schnittstelle zu einer Kernel-Funktionalität ist.

Die Terminologie "Pfad" ist nur eine Zeichenfolge, mit der Sie beim Erstellen einer Instanz von B auf eine Instanz von A verweisen können.

炸鱼 薯条 德里克
quelle