Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was ist der Unterschied zwischen Softlink und Hardlink?

Was ist der Unterschied zwischen Softlink und Hardlink?

王林
王林nach vorne
2020-08-03 17:32:535837Durchsuche

Was ist der Unterschied zwischen Softlink und Hardlink?

Was ist ein Hardlink?

Hardlink: A ist ein Hardlink zu B (A und B sind beide Dateinamen), dann ist die Inode-Knotennummer im Verzeichniseintrag von A dieselbe wie die Inode-Nummer im Verzeichniseintrag von B Die Knotennummern sind gleich, das heißt, ein Inode-Knoten entspricht zwei verschiedenen Dateinamen, und die beiden Dateinamen verweisen auf dieselbe Datei A und B und entsprechen vollständig dem Dateisystem.

(Empfohlenes Tutorial: Linux-Tutorial )

Wenn Sie eines davon löschen, hat dies keine Auswirkungen auf das andere. Jedes Mal, wenn ein Dateiname hinzugefügt wird, erhöht sich die Anzahl der Links auf dem Inode-Knoten um eins. Jedes Mal, wenn ein entsprechender Dateiname gelöscht wird, verringert sich die Anzahl der Links auf dem Inode-Knoten um eins, bis sie 0 erreicht, und der Inode-Knoten Der entsprechende Datenblock wird recycelt.

Hinweis: Dateien und Dateinamen sind verschiedene Dinge. rm A löscht nur den Dateinamen A, und der Datenblock (Datei), der A entspricht, wird nur gelöscht, wenn die Anzahl der Inode-Knotenverbindungen auf 0 reduziert wird . Systemrecycling.

Was ist eine weiche Verbindung?

Soft Link ist ein häufig verwendeter Befehl unter Linux. Seine Funktion besteht darin, eine synchrone Verknüpfung für eine bestimmte Datei an einem anderen Ort herzustellen.

(Empfohlenes Video-Tutorial: Linux-Video-Tutorial)

Die spezifische Verwendung ist: ln -s Quelldatei Zieldatei.

Wenn wir dieselbe Datei in verschiedenen Verzeichnissen verwenden müssen, müssen wir nicht in jedem erforderlichen Verzeichnis eine Datei ablegen, die gleich sein muss. Wir müssen nur den Befehl ln verwenden, um eine Verknüpfung in anderen Verzeichnissen herzustellen . (Link) ist in Ordnung, es besteht keine Notwendigkeit, wiederholt Speicherplatz zu belegen.

Unterschiede:

1. Der Mount-Punkt

kann nur Hardlinks (Hard Link) zwischen Dateien auf demselben Speichermedium erstellen, Hardlinks nicht im letzteren Fall können Softlinks verwendet werden (um zwischen verschiedenen Mount-Punkten und verschiedenen Verzeichnissen auf demselben Mount-Punkt zu unterscheiden)

Verzeichnis

Soft Link entspricht einer Verknüpfung in Win. Das heißt, wenn ein Soft Link zu einem Verzeichnis nur eine Verknüpfung zu einem Verzeichnis zu einem bestimmten Speicherort ist, findet das Betriebssystem die Dateien direkt im tatsächlichen Verzeichnis, wenn es nach dieser Verknüpfung sucht . Aber Hardlinks entsprechen einer Spiegelung. Nach dem Erstellen eines Hardlinks zu einem Verzeichnis muss das Betriebssystem einen Hardlink (eine Kopie) aller Dateien in diesem Verzeichnis erstellen, damit das Betriebssystem auf diesen Link zugreift kontinuierlich durchlaufen werden, was die Komplexität erheblich erhöht und es leicht ist, in eine Endlosschleife einzutreten.

Hardlinks können aufgrund des Designs des Dateisystems nicht für Verzeichnisse erstellt werden. Verzeichnisse im Linux-Dateisystem verbergen zwei spezielle Verzeichnisse, das aktuelle Verzeichnis und das übergeordnete Verzeichnis. Tatsächlich handelt es sich um zwei feste Links. Wenn das System einen festen Link zum Verzeichnis erstellt, kommt es zu einer Verzeichnisschleife.

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

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